NSArray
//
//? main.m
//? 03-NSArray數(shù)組
//
//? Created by apple on 14-3-20.
//? Copyright (c) 2014年 apple. All rights reserved.
//
?
#import <Foundation/Foundation.h>
#import "Person.h"
//1.創(chuàng)建數(shù)組的方式
//2.獲取數(shù)組中的元素
//3.數(shù)組中村粗的實際上是對象的指針地址
?
//4.打包數(shù)據(jù),方便參數(shù)傳遞
int main(int argc, const char * argv[])
{
?
? ? @autoreleasepool {
?? ? ? ?
? ? ? ? {
? ? ? ? ? ? //1.創(chuàng)建集合
? ? ? ? ? ? //NSArray 是不可變數(shù)組,一旦創(chuàng)建完成就不能夠?qū)?shù)組進行,添加,刪除等操作
? ? ? ? ? ? NSArray * array = [[NSArray alloc] init];
?? ? ? ? ? ?
? ? ? ? ? ? ? ? NSLog(@"%@",array);
?? ? ? ? ? ?
? ? ? ? ? ? //2.通過構造方法的方式創(chuàng)建一個NSArray
? ? ? ? ? ? //在創(chuàng)建一個NSArray的時候,集合的最后一個元素一定是nil
? ? ? ? ? ? NSArray * array1 = [NSArray arrayWithObjects:@"one",@"two",@"three", nil];
? ? ? ? ? ? NSLog(@"%@",array1);
?? ? ? ? ? ?
? ? ? ? ? ? //3.數(shù)組中可以存儲不同類型的對象
? ? ? ? ? ? NSNumber * number = [NSNumber numberWithInt:10];
? ? ? ? ? ? NSArray * array2 = [[NSArray alloc] initWithObjects:@"one",@"two",number, nil];
? ? ? ? ? ? NSLog(@"array2? %@",array2);
?? ? ? ? ? ?
? ? ? ? ? ? //4.數(shù)組實際上存儲的時對象的地址,同樣也可以存儲數(shù)組的地址
? ? ? ? ? ? NSArray * a1 = [[NSArray alloc] initWithObjects:@"one",@"two",@"three", nil];
? ? ? ? ? ? NSArray * a2 = [[NSArray alloc] initWithObjects:@"1",@"2",@"3", nil];
? ? ? ? ? ? NSArray * a3 = [[NSArray alloc] initWithObjects:a1,a2, nil];
?? ? ? ? ? ?
? ? ? ? ? ? NSLog(@"a3 %@",a3);
?? ? ? ? ? ?
? ? ? ? ? ? //5.存儲自定義的對象
? ? ? ? ? ? //最好都給我重寫 description方法
? ? ? ? ? ? Person * p1 = [[Person alloc] initWithName:@"xiaozhe" andAge:20];
? ? ? ? ? ? Person * p2 = [[Person alloc] initWithName:@"hell" andAge:18];
? ? ? ? ? ? Person * p3 = [[Person alloc] initWithName:@"marray" andAge:38];
?? ? ? ? ? ?
? ? ? ? ? ? NSArray * array3 = [[NSArray alloc] initWithObjects:p1,p2,p3, nil];
? ? ? ? ? ? NSLog(@"array3? %@",array3);
?? ? ? ? ? ?
? ? ? ? ? ? //6.數(shù)組中存儲基本數(shù)據(jù)類型,
? ? ? ? ? ? //如果你要在數(shù)組中存儲基本數(shù)據(jù)類型,請給我包裝好了之后在去存 NSNumber
? ? ? ? ? ? //注意不要把nil值存儲到NSArray中,會導致數(shù)據(jù)丟失
? ? ? ? ? ? NSString * str = nil;
? ? ? ? ? ? NSArray * array4 = [[NSArray alloc] initWithObjects:@"2",str,[NSNumber numberWithInt:23], nil];
? ? ? ? ? ? NSLog(@"array4 %@",array4);
?? ? ? ? ? ?
? ? ? ? ? ? //7.創(chuàng)建數(shù)組的快捷方式
? ? ? ? ? ? NSArray * karray = @[@"a",@"b",@"c"];
? ? ? ? ? ? NSLog(@"karray %@",karray);
?? ? ? ? ? ?
? ? ? ? ? ? //8.快速獲得一個數(shù)組中的元素
? ? ? ? ? ? NSString * kstr = karray[0];
? ? ? ? ? ? NSLog(@"kstr %@",kstr);
? ? ? ? }
#pragma mark 從集合中取出對象
?? ? ? ?
? ? ? ? {
? ? ? ? ? ? //9.從集合中取出數(shù)據(jù)
? ? ? ? ? ? NSArray * array = [[NSArray alloc] initWithObjects:@"one",@"two",@"three", nil];
? ? ? ? ? ? //數(shù)組的index時從0開始的
? ? ? ? ? ? NSString * str = [array objectAtIndex:0];
? ? ? ? ? ? NSLog(@"str %@",str);
?? ? ? ? ? ?
? ? ? ? ? ? //10.獲得數(shù)組的元素個數(shù)
? ? ? ? ? ? NSUInteger arrayCount = [array count];
? ? ? ? ? ? NSLog(@"arrayCount %d",arrayCount);
?? ? ? ? ? ?
? ? ? ? }
?? ? ? ?
?? ? ? ?
#pragma mark 判斷數(shù)組中是否存在某個對象
? ? ? ? {
?? ? ? ? ? ?
? ? ? ? ? ? Person * p1 = [[Person alloc] initWithName:@"xiaozhe" andAge:20];
? ? ? ? ? ? Person * p2 = [[Person alloc] initWithName:@"nihao" andAge:30];
?? ? ? ? ? ?
? ? ? ? ? ? NSArray * array = @[p1,p2];
?? ? ? ? ? ?
? ? ? ? ? ? BOOL isContain = [array containsObject:p1];
? ? ? ? ? ? if (isContain)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? NSLog(@"存在");
? ? ? ? ? ? }else
? ? ? ? ? ? {
? ? ? ? ? ? ? ? NSLog(@"不存在");
? ? ? ? ? ? }
?? ? ? ? ? ?
? ? ? ? }
?? ? ? ?
? ? }
? ? return 0;
}
?
轉(zhuǎn)載于:https://www.cnblogs.com/supper-Ho/p/6179567.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
- 上一篇: 属兔国二月出生男孩的名字什么好刘恩睿好不
- 下一篇: 绿野金玉思能把蚊子和蚂蚁杀死呢?