2012-11-08 44 views
1

我在我的問題的應用程序中第一次使用核心數據我已經完成了很多google,但沒有找到具體的解決方案。iPhone:與核心數據中的「where」子句類似

實體:子類別

屬性:mainCategoryId,subCategoryName。

現在我想獲取的數據等

Select subCategoryName from SubCategory where mainCategoryId=1; 

我所實現的代碼如下:

NSFetchRequest *request = [[NSFetchRequest alloc] init]; 
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"SubCategory" inManagedObjectContext:managedObjectContext]; 

    [request setEntity:entity]; 

    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SubCategoryName == %@",@"Triangular1"]; 
    [request setPredicate:predicate]; 

    NSError *error; 
    arrSubCategory = [managedObjectContext executeFetchRequest:request error:&error]; 

我如何能獲取相似數據類別的coredata

分享你的想法

thanx提前。

+0

你能後,你已經嘗試到現在的任何代碼? – iDev

回答

1

從你的問題是什麼,你需要的是,

[NSPredicate predicateWithFormat:@"mainCategoryId = %@",@"1"]; 

所以,你的代碼將是什麼樣子,

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
NSEntityDescription *entity = [NSEntityDescription 
    entityForName:@"SubCategory" inManagedObjectContext:context]; 
[fetchRequest setEntity:entity]; 

NSPredicate *predicate =[NSPredicate predicateWithFormat:@"mainCategoryId = %@",@"1"]; 
[request setPredicate:predicate]; 

NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error]; 
for (NSManagedObject *info in fetchedObjects) { 
    NSLog(@"subCategoryName: %@", [info valueForKey:@"subCategoryName"]); 
} 

以上只是一個示例代碼。根據您的要求,實際實施可能會有所不同。

關於coredata is here的教程。檢查一下。

0

你可以像下面這樣做

NSString *maincategoryId = @"1"; 
    NSManagedObjectContext *managedObjectContext = [self managedObjectContext]; 
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"SubCategory"]; 
    [fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"rubriqueid == %@", maincategoryId]]; 

和你打電話給你的NSMutableArray後,把你的結果:

NSMutableArray *answensmuarray = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy];