たとえば
私はCreate Account viewControllerを持っています
NSManagedObjectContext *context = [(BDOAppDelegate *) [[UIApplication sharedApplication] delegate] managedObjectContext];
User *newUser = [NSEntityDescription insertNewObjectForEntityForName:@"User" inManagedObjectContext:context];
newUser.firstName = firstName;
newUser.lastName = lastName;
newUser.emailAddress = email;
newUser.password = password;
この部分は問題ありません。実際には User モデルに追加されます。
また、ユーザーのログイン時間とログアウト時間を別のView Controllerに保存します
NSManagedObjectContext *context = [(BDOAppDelegate *) [[UIApplication sharedApplication] delegate] managedObjectContext];
- (void)signLoggedInLoggedOut:(User *)getUser:(NSNumber *)login
{
LoggedInLoggedOut *newRecord = [NSEntityDescription insertNewObjectForEntityForName:@"LoggedInLoggedOut" inManagedObjectContext:context];
newRecord.user = getUser;
newRecord.login = [NSNumber numberWithInt:1];
//input the time (NSDATE) as well
newRecord.created_at = [NSDate date];
//Create relationship with User - LoggedInLoggedOut
[getUser addLoggedInLoggedOutsObject:newRecord];
}
したがって、関係は 1 対多です。つまり、ユーザーは複数のログイン ログアウト エントリを持つことができます。
すぐにフェッチすると、実際にデータを取得できます。
しかし、終了したら、ビルドしてから再度実行します。ログインおよびログアウトのデータは保存されません。しかし、ユーザーは実際に保存されます。
だから私はこれを修正する方法がわからない