2016-04-04 8 views
1

コアデータのこの異常な動作の理由を説明してください。属性を持つ "メッセージ": 私はエンティティを持っている
ID - 整数64
体 - 更新文字列
- 整数私は次のコードを実行する64
コアデータのエンティティの属性を設定できません

:私は見デバッガで

// Insert new message 
long now = [date timeIntervalSince1970]*1000L; 
m = [NSEntityDescription insertNewObjectForEntityForName:@"Messages" inManagedObjectContext:self.privateObjectContext];    
[m setValue:[NSNumber numberWithLong:msg.id] forKey:@"id"]; 
NSLog(@"id=%ld", [[m valueForKey:@"id"] longValue]); 
[m setValue:[NSNumber numberWithLong:now] forKey:@"updated"]; 
NSLog(@"updated=%ld, now=%ld", [[m valueForKey:@"updated"] longValue], now); 

を:

id = 16603952
updataed = 0、n ow = 1459769138535

更新された属性を設定できないのはなぜですか?

P.S. XCode 7.2.1

+0

上記のコードとデバッグ情報はコピーされて貼り付けられていますか?デバッガの出力にスペルミスがありますが、コードには誤りはありません。あなたが正確にコピー&ペーストすれば、人々は不正なコードを正確に見ています。 –

+0

私はApple MacBookでプログラミングを行い、Windows PC経由でフォーラムに書き込みます。したがって、いくつかの経過が可能です:) – alisichkin

+0

... 'updated'はNSManagedObjectクラスのプロパティであるため、属性名として使用しないでください。属性の名前を別のものに変更します。 – pbasdf

答えて

0

多くの感謝!!
属性の名前を「更新済み」に「tupdated」に変更しました。

禁止されている属性名についてCore Dataのドキュメントには一度も書いていません。 :\

関連する問題