Day.01.18 不可變數(shù)組

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        /*_____ (不可變)數(shù)組 NSArray__________________________________________________________*/
        
        /**
         *  C語(yǔ)言的數(shù)組:盛放同一類型變量的有序容器
         
            OC語(yǔ)言的數(shù)組:只能存放對(duì)象的有序容器
         
            在控制臺(tái)中,數(shù)組以()的形式打印,多個(gè)元素間使用','相隔
         */
        
        
        //1??創(chuàng)建
        
        //1.實(shí)例方法
        NSArray *array1 = [[NSArray alloc]init];
        
        NSLog(@"%@",array1);

        
        NSArray *array2 = [[NSArray alloc]initWithObjects:@"0",@"1",@"2", nil];
        
        NSLog(@"%@",array2);
        
        //2.類方法
        NSArray *array3 = [NSArray array];
        
        NSLog(@"%@",array3);
        
        NSArray *array4 = [NSArray arrayWithObjects:@"0",@"1",@"2", nil];
        
        NSLog(@"%@",array4);
        
        NSArray *array7 = [NSArray arrayWithObject:@"0"];//一個(gè)元素的數(shù)組
        
        NSLog(@"%@",array7);

        //3.用數(shù)組構(gòu)建數(shù)組->相當(dāng)于復(fù)制數(shù)組
        NSArray *array5 = [[NSArray alloc]initWithArray:array2];
        
        NSLog(@"%@",array5);
        
//        NSArray *array6 = array5;//這不是復(fù)制 這是創(chuàng)建指針來(lái)指向數(shù)組 ,array6和array5指向的是同一個(gè)數(shù)組
        
        NSArray *array6 = [NSArray arrayWithArray:array2];
        
        NSLog(@"%@",array6);
        
        //4.快捷創(chuàng)建
        NSArray *array8 = @[@"aaa",@"bbb",@"ccc",@"aaa"];
        
        NSLog(@"%@",array8);
        
        NSObject *objc1 = [[NSObject alloc]init];
        NSObject *objc2 = [[NSObject alloc]init];
        NSObject *objc3 = [[NSObject alloc]init];
        
        NSArray *array9 = @[objc1,objc2,objc3];
        
        NSLog(@"%@",array9);

        //2??屬性
        
        //數(shù)組中對(duì)象的個(gè)數(shù)
//        NSLog(@"%ld",[array8 count]);
        NSLog(@"count = %ld",array8.count);
        
        //3??方法
        
        //1.獲取數(shù)組中的對(duì)象
        
        NSLog(@"%@",array8[1]);
        
        NSLog(@"%@",[array8 objectAtIndex:1]);
            //第一個(gè)對(duì)象
        NSLog(@"%@",[array8 firstObject]);
            //最后一個(gè)對(duì)象
        NSLog(@"%@",[array8 lastObject]);
        
        //2.獲取對(duì)象的下標(biāo)
        
        NSLog(@"%ld",[array8 indexOfObject:@"aaa"]);
        
        NSLog(@"%ld",[array8 indexOfObjectIdenticalTo:@"aaa"]);
            //限定范圍 查找元素下標(biāo)
        NSLog(@"%ld",[array8 indexOfObject:@"aaa" inRange:NSMakeRange(2, 2)]);
        
        //3.判斷數(shù)組是否包含某個(gè)對(duì)象
        
        BOOL isTrue = [array8 containsObject:@"aaa"];
        
        NSLog(@"%hhd",isTrue);
        
        //4.數(shù)組元素以字符串的形式輸入
        
        /**
         *  是NSString的分割方法的相反操作
         */
        
        //連接
        NSString *string = [array8 componentsJoinedByString:@"~!~"];
        
        NSLog(@"%@",string);
        
        //分割
        NSArray *array10 = [string componentsSeparatedByString:@"~!~"];
        
        NSLog(@"%@",array10);
        
        //5.遍歷
        
        //傳統(tǒng)遍歷
        for (int i = 0; i<array10.count;i++ ) {
            
            NSLog(@"%@",array10[i]);
        }
        /**
         * 快速遍歷
                for(數(shù)組中對(duì)象的類型 *每次獲取的對(duì)象 in 要遍歷的數(shù)組)
         */
        for (NSString *string in array10) {
            
            NSLog(@"%@",string);
        }
    }
    return 0;
}


2016-01-18 20:31:40.419 04NSArray[4110:624817] (
)
2016-01-18 20:31:40.420 04NSArray[4110:624817] (
    0,
    1,
    2
)
2016-01-18 20:31:40.420 04NSArray[4110:624817] (
)
2016-01-18 20:31:40.420 04NSArray[4110:624817] (
    0,
    1,
    2
)
2016-01-18 20:31:40.420 04NSArray[4110:624817] (
    0
)
2016-01-18 20:31:40.420 04NSArray[4110:624817] (
    0,
    1,
    2
)
2016-01-18 20:31:40.420 04NSArray[4110:624817] (
    0,
    1,
    2
)
2016-01-18 20:31:40.421 04NSArray[4110:624817] (
    aaa,
    bbb,
    ccc,
    aaa
)
2016-01-18 20:31:40.421 04NSArray[4110:624817] (
    "<NSObject: 0x100300160>",
    "<NSObject: 0x1003001f0>",
    "<NSObject: 0x100300200>"
)
2016-01-18 20:31:40.421 04NSArray[4110:624817] count = 4
2016-01-18 20:31:40.421 04NSArray[4110:624817] bbb
2016-01-18 20:31:40.421 04NSArray[4110:624817] bbb
2016-01-18 20:31:40.421 04NSArray[4110:624817] aaa
2016-01-18 20:31:40.422 04NSArray[4110:624817] aaa
2016-01-18 20:31:40.422 04NSArray[4110:624817] 0
2016-01-18 20:31:40.422 04NSArray[4110:624817] 0
2016-01-18 20:31:40.422 04NSArray[4110:624817] 3
2016-01-18 20:31:40.422 04NSArray[4110:624817] 1
2016-01-18 20:31:40.422 04NSArray[4110:624817] aaa~!~bbb~!~ccc~!~aaa
2016-01-18 20:31:40.423 04NSArray[4110:624817] (
    aaa,
    bbb,
    ccc,
    aaa
)
2016-01-18 20:31:40.423 04NSArray[4110:624817] aaa
2016-01-18 20:31:40.423 04NSArray[4110:624817] bbb
2016-01-18 20:31:40.423 04NSArray[4110:624817] ccc
2016-01-18 20:31:40.423 04NSArray[4110:624817] aaa
2016-01-18 20:31:40.423 04NSArray[4110:624817] aaa
2016-01-18 20:31:40.423 04NSArray[4110:624817] bbb
2016-01-18 20:31:40.424 04NSArray[4110:624817] ccc
2016-01-18 20:31:40.424 04NSArray[4110:624817] aaa
Program ended with exit code: 0
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容