我试图将 a 添加NSString
到 anNSMutableArray
然后将数组放入NSData
并使用NSUserDefaults
. 但数组始终为零。
这是我的代码:
- (void)viewDidLoad {
[super viewDidLoad];
library = [[ALAssetsLibrary alloc] init];
groups = [[NSMutableArray alloc] init];
userDefaults = [[NSUserDefaults alloc] init];
NSData *data = [userDefaults objectForKey:@"GroupArray"];
groups = [NSKeyedUnarchiver unarchiveObjectWithData:data];
NSLog(@"%i", [groups count]);
}
-(IBAction)newFolder {
if (textField.text != nil) {
NSString *string = textField.text.capitalizedString;
[library addAssetsGroupAlbumWithName:string
resultBlock:^(ALAssetsGroup *group) {
NSLog(@"Created a folder named: %@", group);
}
failureBlock:^(NSError *error) {
NSLog(@"An error occured! - %@", error);
}
];
[groups addObject:string];
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:groups];
[userDefaults setObject:data forKey:@"GroupArray"];
NSLog(@"%i", [groups count]);
}
[self.view sendSubviewToBack:subView];
}
当应用程序启动时,我在控制台中收到一条消息,指出数组是NULL
. 当我尝试添加字符串时,NSLog(@"%i", [groups count]);
总是返回 0。
为什么会这样?