OC數組的簡單使用、NSArray


  和上一篇文章一樣,數組的重要性不言而喻,在OC編程的過程中我們會不斷的使用到NSArray,和C語言不同的是,我們這里的數組只能存OC對象類型,不能存C語言基本數據類型,也不能存NSNull類型,但是我們這里的數組可以存多種對象類型,比如,在同一個數組里面,既可以存字符串類型,又可以存對象化了以后的整數類型,甚至是另外一個數組,也可以存其他的對象類型(將C語言的數據類型轉換成OC的對象類型下面會講到),不過在同一個數組里面盡量存同一種數據類型,這是為了方便使用。在OC數組里面以nil表示結尾,如果你在數組的中間存了一個nil的數據,那么在nil后面的數據是讀取不到的。

  和NSString一樣,數組可以分為可變數組(NSMutableArray)和不可變數組(NSArray),首先,我們還是從不可變數組說起,因為可變數組只是在不可變數組上加上了一些新的方法。

一、不可變數組

1.不可變數組的創建

2.訪問數組的對象個數可以使用count屬性,回憶一下,在字符串中訪問字符串的長度我們使用的是length屬性。

3.獲取某個對象的索引值使用方法:indexOfObject

4.獲取某個索引值對應的對象使用方法:objectAtIndex

5.判斷數組是否包含某個對象使用方法:containsObject

6.獲取數組第一個元素:arr[0]

           [arr objectAtIndex:0]

           [arr firstObject]

7.獲取數組最后一個元素:[arr lastObject]

二、可變數組

  可變數組相對於不可變數組和可變字符串相對於不可變字符串類似,都增加了一些方法和屬性,最主要的就是增、刪、改、插入。

1.創建可變數組

2.向可變數組里面增加一個對象使用方法:addObject

3.在可變數組里面刪除對象:

  [removeObject:@"xianggang"];

        [ar removeObject:@"bj"];

        [ar removeObjectAtIndex:1];

        [ar removeAllObjects];

4.更換數組里面的一個對象

  [ar exchangeObjectAtIndex:0 withObjectAtIndex:1];

5.插入一個對象

  [ar insertObject:@"bj" atIndex:1];

三、封裝(即類型轉換)

1.將C語言基本數據類型封裝為OC對象類型我們使用的是NSNumber;如:

NSNumber *number = [NSNumber numberWithInt:20];

NSNumber *number1 = [NSNumber numberWithFloat:20.0];

2.將C語言的結構體和枚舉封裝了OC對象類型需要使用NSValue;如:

struct CGRect{

          CGPoint point;

          CGSize size;

        };

 

 struct CGPoint {

 

         CGFloat x;

 

         CGFloat y;

 

         };

 

         

 

        struct CGSize {

 

            CGFloat width;

 

            CGFloat height;

 

        };

 

         */

 

        CGRect rect = CGRectMake(100, 100, 200, 150);

 

        NSValue *rectValue = [NSValue valueWithRect:rect];

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM