您的位置:首页 > 其它

NSArray基本用法

2015-11-16 22:35 323 查看
#import <Foundation/Foundation.h>

@interface Person: NSObject

@end
@implementation Person

-(NSString*) description
{
return @"this is description.";
}

@end

int main(int argc, const char * argv[]) {
@autoreleasepool {
/* 数组可以包括任意类型 */
Person *p = [[Person alloc] init];
NSArray *arr1 = [[NSArray alloc] initWithObjects: @"One String", @"Two", @"Three", p, nil];

/* 数组中的每个对象实际是该对象的地址 */
/* NSLOG打印时,调用的是对象的description方法,字符串返回本身,对象为多个C类型字符串则返回时包含双引号 */
NSLog(@"arr1-%@", arr1);

/* 利用已知数组初始化新数组 */
//NSArray *arr2 = [[NSArray alloc] initWithArray: arr1];
/* 利用已知数组初始化时的地址深拷贝 */
//NSArray *arr3 = [[NSArray alloc] initWithArray: arr1 copyItems: YES];

/* 使用枚举器遍历数组 */
NSEnumerator *enumarator = [arr1 objectEnumerator];
id anObject;
while (anObject = [enumarator nextObject]) {
NSLog(@"arr1 object-%@", anObject);
}

/* 快速遍历法 */
for (anObject in arr1)
{
NSLog(@"arr1 object--%@", anObject);
}

/* i遍历法 */
NSInteger i = 0;
for ( ; i < [arr1 count]; i++)
{
NSLog(@"arr1 object---%@", [arr1 objectAtIndex:i]);
}
}
return 0;
}
输出结果:
<pre name="code" class="objc">2015-11-16 22:29:55.553 TestNSData[633:23869] arr1-(
"One String",
Two,
Three,
"this is description."
)
2015-11-16 22:29:55.558 TestNSData[633:23869] arr1 object-One String
2015-11-16 22:29:55.559 TestNSData[633:23869] arr1 object-Two
2015-11-16 22:29:55.559 TestNSData[633:23869] arr1 object-Three
2015-11-16 22:29:55.559 TestNSData[633:23869] arr1 object-this is description.
2015-11-16 22:29:55.559 TestNSData[633:23869] arr1 object--One String
2015-11-16 22:29:55.559 TestNSData[633:23869] arr1 object--Two
2015-11-16 22:29:55.559 TestNSData[633:23869] arr1 object--Three
2015-11-16 22:29:55.560 TestNSData[633:23869] arr1 object--this is description.
2015-11-16 22:29:55.560 TestNSData[633:23869] arr1 object---One String
2015-11-16 22:29:55.560 TestNSData[633:23869] arr1 object---Two
2015-11-16 22:29:55.560 TestNSData[633:23869] arr1 object---Three
2015-11-16 22:29:55.560 TestNSData[633:23869] arr1 object---this is description.



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