NSArray基本概念


1.NSArray的基本概念

  • 什么是NSArray?

    • NSArray是OC中的數組類,開發中建議盡量使用NSArray替代C語言中的數組
    • C語言中數組的弊端
      • int array[4] = {10, 89, 27, 76};
      • 只能存放一種類型的數據.(類型必須一致)
      • 不能很方便地動態添加數組元素、不能很方便地動態刪除數組元素(長度固定)
  • NSArray的使用注意

    • 只能存放任意OC對象, 並且是有順序的
    • 不能存儲非OC對象, 比如int\float\double\char\enum\struct等
    • 它是不可變的,一旦初始化完畢后,它里面的內容就永遠是固定的, 不能刪除里面的元素, 也不能再往里面添加元素

2.NSArray的創建方式

  • + (instancetype)array;
  • + (instancetype)arrayWithObject:(id)anObject;
  • + (instancetype)arrayWithObjects:(id)firstObj, ...;
  • + (instancetype)arrayWithArray:(NSArray *)array;

  • + (id)arrayWithContentsOfFile:(NSString *)path;

  • + (id)arrayWithContentsOfURL:(NSURL *)url;

3.NSArray 的使用注意事項

  • NSArray使用NSLog()輸出內容,內容是小括號的格式。

  • NSArray中不能存儲nil,因為NSArray認為nil是數組的結束(nil是數組元素結束的標記)。nil就是0。0也是基本數據類型,不能存放到NSArray中。

NSArray *arr = [NSArray arrayWithObjects:@"lnj", nil ,@"lmj",@"jjj", nil];
NSLog(@"%@", arr);
輸出結果:
(
    lnj
)

4.NSArray的常用方法

  • - (NSUInteger)count;

    • 獲取集合元素個數
  • - (id)objectAtIndex:(NSUInteger)index;

    • 獲得index位置的元素
  • - (BOOL)containsObject:(id)anObject;

    • 是否包含某一個元素
  • - (id)lastObject;

    • 返回最后一個元素
  • - (id)firstObject;

    • 返回最后一個元素
  • - (NSUInteger)indexOfObject:(id)anObject;

    • 查找anObject元素在數組中的位置(如果找不到,返回-1)
  • - (NSUInteger)indexOfObject:(id)anObject inRange:(NSRange)range;

    • 在range范圍內查找anObject元素在數組中的位置

5.NSArray的簡寫形式

  • 自從2012年開始, Xcode的編譯器多了很多自動生成代碼的功能, 使得OC代碼更加精簡

  • 數組的創建

    • 之前
      [NSArray arrayWithObjects:@"Jack", @"Rose", @"Jim", nil]; 
    • 現在
      @[@"Jack", @"Rose", @"Jim"]; 
  • 數組元素的訪問

    • 之前
      [array objectAtIndex:0]; 
    • 現在
      array[0];


免責聲明!

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



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