博客> 8.NSArray
8.NSArray
2017-10-18 17:46 评论:0 阅读:230 Longer_Tao
oc NSArray

/********************************** NSArray **********************************/
// 注意事项:NSArray中不能存储nil,因为NSArray认为nil是数组的结束(nil是数组元素结束的标记)。其次nil就是0,0也是基本数据类型,不能存放到NSArray中。
#pragma mark 1.创建方法
// 1> NSArray的创建方式(都是类方法)
 + (instancetype)array;
 + (instancetype)arrayWithObject:(id)anObject;
 + (instancetype)arrayWithObjects:(id)firstObj, ...;
 + (instancetype)arrayWithArray:(NSArray *)array;
 + (id)arrayWithContentsOfFile:(NSString *)path;
 + (id)arrayWithContentsOfURL:(NSURL *)url;

 /* NSArray的简写形式: 
 创建
 [NSArray arrayWithObjects:@"Jack", @"Rose", @"Jim", nil]; 简化后  @[@"Jack", @"Rose", @"Jim"];

 访问
 [array objectAtIndex:0]; 简化后  array[0];
 */

#pragma mark 2.常用方法
 //获取集合元素个数
 - (NSUInteger)count; 

 // 获得index位置的元素
 - (id)objectAtIndex:(NSUInteger)index;

 // 是否包含某一个元素
 - (BOOL)containsObject:(id)anObject;

 // 返回最后一个元素
 - (id)lastObject;

 // 返回第一个元素
 - (id)firstObject;

 // 查找anObject元素在数组中的位置(如果找不到,返回-1), 因为返回值为无符号整数,所以判断是要强制转换为整型
 - (NSUInteger)indexOfObject:(id)anObject;

 // 在range范围内查找anObject元素在数组中的位置
 - (NSUInteger)indexOfObject:(id)anObject inRange:(NSRange)range;

#pragma mark 3.遍历
// 1.NSArray的下标遍历
    NSArray *arr = @[p1, p2, p3, p4, p5];
    for (int i = 0; i < arr xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed> obj2.age;
    }];
    NSLog(@"%@", newArr);

#pragma mark 5.文件读写
// 1.NSArray数据写入到文件中
    NSArray *arr = @[@"lnj", @"lmj", @"jjj", @"xcq"];
    BOOL flag = [arr writeToFile:@"/Users/LNJ/Desktop/persons.plist" atomically:YES];
    NSLog(@"%i", flag);

// 2.从文件中读取数据到NSArray中
    NSArray *newArr = [NSArray arrayWithContentsOfFile:@"/Users/LNJ/Desktop/persons.xml"];
    NSLog(@"%@", newArr);

#pragma mark 6.NSArray与NSString之间的相互转化
// 1.把数组元素链接成字符串
 - (NSString )componentsJoinedByString:(NSString )separator; // 这是NSArray的方法, 用separator作拼接符将数组元素拼接成一个字符串

  NSArray *arr = @[@"lnj", @"lmj", @"jjj", @"xcq"];
  NSString *res = [arr componentsJoinedByString:@"*"];
  NSLog(@"res = %@", res);
 输出结果:
 lnj*lmj*jjj*xcq

// 2.字符串分割成OC数组
 - (NSArray )componentsSeparatedByString:(NSString )separator; // 这是NSString的方法,将字符串用separator作为分隔符切割成数组元素

    NSString *str = @"lnj-lmj-jjj-xcq";
    NSArray *arr = [str componentsSeparatedByString:@"-"];
    NSLog(@"%@", arr);

 输出结果:
 (
  lnj,
  lmj,
  jjj,
  xcq
 )```
收藏
0
sina weixin mail 回到顶部