2

そのため、アプリの単純な (存在する場合) ログイン プロセスを作成しようとしていますが、以下のコード ブロックでエラーが発生しています。

 NSManagedObject *context = _managedObjectContext;

NSFetchRequest *request= [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Account"   inManagedObjectContext:context];
NSPredicate *predicate =[NSPredicate predicateWithFormat:@"username==%@",self.textFieldUsername.text];
[request setEntity:entity];
[request setPredicate:predicate];

NSError *error = nil;

// Below line is giving me error

NSArray *array = [managedObjectContext executeFetchRequest:request error:&error];
if (array != nil) {
    NSUInteger count = [array count]; // may be 0 if the object has been deleted.
    NSLog(@"Username may exist, %@",count);
}

else {
    NSLog(@"Username does not exist.");
}

`

上記のコードは、ユーザーが [ログイン] ボタンをクリックしたときに実行されます。

Xcode から次のエラーが表示されます: No visible @interface for 'NSManagedObject' は、セレクター 'executeFetchRequest:error.' を宣言します。

上記のステートメントを読むと、ギリシャ語のように思えます。私が取り組んでいるファイルの名前はViewControllerWelcome.mで、次のリンクで全体を表示できます。それが重要な場合は、ストックボイラープレートコアデータコードを使用しています.

おまけ: ここ (SO) に投稿するときに、objective-c コードを強調表示するにはどうすればよいですか?

4

1 に答える 1

3

変化する:

NSManagedObject *context = _managedObjectContext;

NSManagedObjectContext *context = _managedObjectContext;

NSArray *array = [managedObjectContext executeFetchRequest:request error:&error];

する必要があります

NSArray *array = [context executeFetchRequest:request error:&error];

PSユーザー名検索で大文字と小文字を区別しないようにする場合は、述語に「username == [c] %@」を使用します...

于 2012-06-19T06:34:11.170 に答える