单件类iPhone
好的,我试图避免全局变量,所以我阅读了关于单例类的文章。 这是尝试设置和读取可变数组,但结果为空单件类iPhone,iphone,singleton,global-variables,Iphone,Singleton,Global Variables,好的,我试图避免全局变量,所以我阅读了关于单例类的文章。 这是尝试设置和读取可变数组,但结果为空 //Content.h @interface Content : NSObject { NSMutableArray *contentArray; } + (Content *) sharedInstance; - (NSMutableArray *) getArray; - (void) addArray:(NSMutableArray *)mutableArray; @end
//Content.h
@interface Content : NSObject {
NSMutableArray *contentArray;
}
+ (Content *) sharedInstance;
- (NSMutableArray *) getArray;
- (void) addArray:(NSMutableArray *)mutableArray;
@end
在一个ViewController中,我添加了#import“Content.h”,我尝试将其称为:
NSMutableArray *mArray = [NSMutableArray arrayWithObjects:@"test",@"foo",@"bar",nil];
Content *content = [Content sharedInstance];
[content addArray:mArray];
NSLog(@"contentArray: %@", [content getArray]);
您从未实际分配/初始化
contentArray
数组。您需要先分配并初始化数组。我个人会在content类的init方法中这样做:
-(id)init{
if(self = [super init]){
…the rest of your init code…
contentArray = [[NSMutableArray alloc] init];
}
return self;
}
-(id)init{
if(self = [super init]){
…the rest of your init code…
contentArray = [[NSMutableArray alloc] init];
}
return self;
}