0

User テーブルと Items テーブルにデータを追加しようとしています。ユーザーへの追加は問題ありませんが、どういうわけか項目テーブルに追加されません

どちらもエラーはありません。

たとえば、NSFetchRequestアイテムをテーブルに追加した直後に、データを確認できます。しかし、アプリを再構築して再度実行した後。それはなくなりましたが、ユーザーレコードはまだそこにあります。

どうして?

また、sqlite データベースを手動でチェックしました。ユーザー レコードは存在しますが、アイテムは存在しません。

4

1 に答える 1

0

たとえば

私は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 対多です。つまり、ユーザーは複数のログイン ログアウト エントリを持つことができます。

すぐにフェッチすると、実際にデータを取得できます。

しかし、終了したら、ビルドしてから再度実行します。ログインおよびログアウトのデータは保存されません。しかし、ユーザーは実際に保存されます。

だから私はこれを修正する方法がわからない

于 2012-08-30T12:09:36.377 に答える