NSString
に を追加してからNSMutableArray
、配列をに追加してNSData
で保存しようとしていNSUserDefaults
ます。しかし、配列は常に nil です。
これが私のコードです:
- (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 が返されます。
なぜこれが起こるのですか?