以下は、エンティティPlayer
ヘッダー ファイルです。
@interface Player : NSManagedObject
@property (nonatomic, retain) NSNumber * experience;
@property (nonatomic, retain) id items;
@property (nonatomic, retain) NSNumber * level;
@end
@interface items : NSValueTransformer
@end
items
基本的にNSMutableArray
withNSNumber
要素です。そして、1 つの関数内で、この配列を更新しています。
- (void)itemWasDropped:(ItemIndex)item
{ // _player has been correctly retrieved from the database
// the current number of this item
int nNum = [[_player.items objectAtIndex:item] intValue];
// to increment the number
[_player.items replaceObjectAtIndex:item withObject:[NSNumber numberWithInt:nNum + 1]];
}
この関数は完全に呼び出されます。コンテキストを関数に保存しますviewWillDisappear
。
- (void)viewWillDisappear:(BOOL)animated
{ // _moc is an NSManagedObjectContext instance that has been correctly initialised.
// to update the database
NSError* err = nil;
BOOL bSucc = [_moc save:&err];
if (err || !bSucc)
{
...
}
}
問題は、タスク バーでアプリをシャットダウンしない限り、更新が他のビューに表示されることです。どうしたの?誰でも助けることができますか?