您的位置:首页 > 其它

NSArray 常用方法

2016-08-30 00:42 369 查看
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{
/**
*  创建NSArray数组的简写方式
*/
NSArray *arr = @[@"aaa",@"bbb",@"ccc",@"ddd",@"eee",@"fff"];
NSLog(@"%@",arr); // 打印中文时  输出的是中文字符串对应的unicode编码

/**
*  取出指定下标的值 : - (ObjectType)objectAtIndex:(NSUInteger)index;
*/
NSString *str = [arr objectAtIndex:2];
NSLog(@"%@",str);

/**
*  取出元素的下标 :   - (NSUInteger)indexOfObject:(ObjectType)anObject;
*/
NSUInteger num = [arr indexOfObject:@"aaa"];
NSLog(@"%lu",num);

/**
* 求出数组的长度 :     @property (readonly) NSUInteger count;
*/
NSLog(@"%lu",arr.count);

/**
*  数组中是否包含某个元素   - (BOOL)containsObject:(ObjectType)anObject;
*/
BOOL res = [arr containsObject:@"aaa"];
NSLog(@"%d",res);

/**
*  数组中首个字母的元素 : @property (nullable, nonatomic, readonly) ObjectType firstObject
*  数组中末尾字母的元素 : @property (nullable, nonatomic, readonly) ObjectType lastObject;
*/
NSLog(@"%@",[arr firstObject]);
NSLog(@"%@",[arr lastObject]);

/**
*  取出指定元素的在摸个范围的下标
*
*  @param 0 取出的元素
*  @param 2  范围
*
*  @return 下标
*/
NSUInteger res1 = [arr indexOfObject:@"bbb" inRange:NSMakeRange(0, 2)];
NSLog(@"%lu",res1);

/**
*  第一种遍历方式
*/
for (int i = 0; i < arr.count; i++)
{
NSLog(@"%@",arr[i]);
NSLog(@"%@",[arr objectAtIndex:i]);  //取出下标的元素
}

/**
*  第二种遍历方式
*/
for (NSString *st in arr)
{
NSLog(@"%@",st);
}

/**
*  第三种遍历方式
*
*  @param obj  数组的当前元素
*  @param idx  数组当前下标
*  @param stop 停止的条件
*
*  @return 数组遍历
*/
[arr enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop)
{
NSLog(@"%@---%lu",obj,idx);
if (idx == 2) {
*stop = YES;
}

}];

/**
*   将数组拼接成一个字符串:   - (void)appendFormat:(NSString *)format, ...
*/
NSMutableString *ar = [NSMutableString new];
for (NSString * s in arr)
{
[ar appendFormat:@"%@",s];
}
NSLog(@"%@",ar);

/**
*  使用指定的分隔符将数组拼接成字符串
*/
NSString *a = [arr componentsJoinedByString:@" "];
NSLog(@"%@",a);

NSMutableArray *arr1 = [NSMutableArray new];
//    for (NSString *w in a)
//    {
//        [arr1 addObject:a ];
//        NSLog(@"%@",w);
//    }

//    NSLog(@"%@",arr1);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nsarray