NSArray的创建(二)类方法
利用一个类方法来创建一个数组, 关于什么是类方法, 同学们麻烦请回去自行查找, 这里不做解释, 下面我们来看看方法和例子.
涉及的方法:
@property (nonatomic, assign) int age: 定义一个int age 的属性.
+ (instancetype)arrayWithArray:(int)age: 声明一个arrayWithArray的类方法.
下面我们来看看例子:
先创建一个新的文件, 我这里命名为LeiNSArray.h文件
#import <Foundation/Foundation.h> @interface LeiNSArray : NSObject @property (nonatomic, assign) int age; + (instancetype)arrayWithArray:(int)age; @end
方法的实现:
方法的实现很简单, 首先创建一个空的数组, 然后把属性也在该方法实现, 再返回给array.
#import "LeiNSArray.h" @implementation LeiNSArray + (instancetype)arrayWithArray:(int)age; { LeiNSArray *array = [[LeiNSArray alloc]init]; array.age = age; return array; } @end
main.m文件
#import <Foundation/Foundation.h> #import "LeiNSArray.h" int main(int argc, const char * argv[]) { @autoreleasepool { LeiNSArray *lei = [LeiNSArray arrayWithArray:10]; LeiNSArray *lei2 = [LeiNSArray arrayWithArray:20]; LeiNSArray *lei3 = [LeiNSArray arrayWithArray:30]; NSArray *arr = @[lei, lei2, lei3]; NSLog(@"lei = %d\nlei2 = %d\nlei3 = %d", lei.age, lei2.age, lei3.age); NSLog(@"%@", arr); } return 0; }
输出的结果:
2014-10-15 11:50:36.322 NSArrayDemo2[10765:303] lei = 10 lei2 = 20 lei3 = 30 2014-10-15 11:50:36.324 NSArrayDemo2[10765:303] ( "<LeiNSArray: 0x100201b10>", "<LeiNSArray: 0x100202f70>", "<LeiNSArray: 0x100202f80>" ) Program ended with exit code: 0