这是我的单例代码(相当于样板文件):
@interface DataManager : NSObject {
NSMutableArray *eventList;
}
@property (nonatomic, retain) NSMutableArray *eventList;
+(DataManager*)sharedDataManager;
@end
然后是.m:
#import "DataManager.h"
static DataManager *singletonDataManager = nil;
@implementation DataManager
@synthesize eventList;
+(DataManager*)sharedDataManager {
@synchronized(self) {
if (!singletonDataManager) {
singletonDataManager = [[DataManager alloc] init];
}
}
NSLog(@"Pulling a copy of shared manager.");
return singletonDataManager;
}
因此,在我的AppDelegate中,我在启动第一个视图之前加载了一些内容:
NSMutableArray *eventList = [DataManager sharedDataManager].eventList;
....
NSLog(@"Adding event %@ to eventList", event.title);
[eventList addObject:event];
NSLog(@"eventList now has %d members", [eventList count]);
[event release];
如你所见,我已经在代码中添加了nslog对自己的爱注释。日志的输出如下:
2010-05-10 09:08:53.355 MyApp[2037:207] Adding event Woofstock Music Festival to eventList
2010-05-10 09:08:53.355 MyApp[2037:207] eventList now has 0 members
2010-05-10 09:08:53.411 MyApp[2037:207] Adding event Test Event for Staging to eventList
2010-05-10 09:08:53.411 MyApp[2037:207] eventList now has 0 members
2010-05-10 09:08:53.467 MyApp[2037:207] Adding event Montgomery Event to eventList
2010-05-10 09:08:53.467 MyApp[2037:207] eventList now has 0 members
2010-05-10 09:08:53.524 MyApp[2037:207] Adding event Alamance County Event For June to eventList
2010-05-10 09:08:53.524 MyApp[2037:207] eventList now has 0 members
…给出了什么?我没有错误进入我的事件列表NSmutableArray。但是我加了一句:无声地失败了?