私のiosアプリケーションにコアデータを使用していますが、エンティティテーブルからカラム全体を取得するにはどうすればよいでしょうか?たとえば、私はテーブルからプライマリキーを取得することに興味があります。コアデータエンティティからカラムを取得する方法
SQLでは、MYTABLEからSelect nameを実行するだけです。
私のiosアプリケーションにコアデータを使用していますが、エンティティテーブルからカラム全体を取得するにはどうすればよいでしょうか?たとえば、私はテーブルからプライマリキーを取得することに興味があります。コアデータエンティティからカラムを取得する方法
SQLでは、MYTABLEからSelect nameを実行するだけです。
私はあなたがそれをこの方法で行うことができると思う:
NSManagedObjectContext *context = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"--table--" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:nil];
NSMutableArray *elementsFromColumn = [[NSMutableArray alloc] init];
for (NSManagedObject *fetchedObject in fetchedObjects) {
[elementsFromColumn addObject:[fetchedObject valueForKey:@"--column--"]];
}
ですから、あなたのテーブルの特定の列からすべての要素を持っています。 欲しいものがありますか?
NSFetchRequestのdocumentationをご覧ください。特定のプロパティのみを含むディクショナリを返すように要求することができます。これは取得するのとほぼ同じです。関心のある方法はsetResultType:
とsetPropertiesToFetch:
です。
これはうまくいきました。投稿していただきありがとうございます。今、私はこのうわさのオートコンプリート機能をどうやって行うのか分かりましたら、私は満足しています。 – user597608
@ bs7 CoreDataは、executeFetchRequestを実行すると使用可能なすべての列をフェッチします。または、valueForKeyを呼び出すときにのみフェッチします。 – onmyway133
私のために働いた..素晴らしい答え! – TharakaNirmana