首页 > 代码库 > NSArray的创建(二)类方法

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 = 10lei2 = 20lei3 = 302014-10-15 11:50:36.324 NSArrayDemo2[10765:303] (    "<LeiNSArray: 0x100201b10>",    "<LeiNSArray: 0x100202f70>",    "<LeiNSArray: 0x100202f80>")Program ended with exit code: 0

 

NSArray的创建(二)类方法