-3
コアデータにプライマリ/外部キーの関係を作成するにはどうすればよいですか?コアデータでリレーションシップはどのように機能しますか?
私は、ユーザーが登録してからログインするアプリを作っており、それはコアデータに保存されています。
新しいユーザー登録時にNSNumberをインクリメントして管理しています。
私は、ユーザーが画像をアップロードした場合、彼にのみ表示され、そのためには主キーの外部キーの概念を実装する必要があります。
コードを添付していますので、ご覧ください。次のように
NSEntityDescription *entity=[NSEntityDescription entityForName:@"Img_ent" inManagedObjectContext:obj];
NSFetchRequest *req=[[NSFetchRequest alloc]init];
[req setEntity:entity];
[req setPredicate:[NSPredicate predicateWithFormat:@"uname=%@",str_unm]];
NSError *error=nil;
NSArray *existingIDs = [obj executeFetchRequest:req error:&error];
if (error != nil)
{
NSLog(@"Error: %@", [error localizedDescription]);
}
NSInteger newID = 0;
for (NSDictionary *dict in existingIDs)
{
NSInteger IDToCompare = [[dict valueForKey:@"img_id"] integerValue];
if (IDToCompare >= newID)
{
newID = IDToCompare + 1;
}
}
if (newID==0)
{
newID=1;
}
img_entity.img_id=[NSNumber numberWithInteger:newID];
img_entity.img_cd=[NSData dataWithData:data];
[obj save:&error];
投稿コードの例 –
主キー - 外部キーは、CoreDataで行うべきことではありません。 – Fogmeister