11

Tôi cố gắng để thực hiện CoreData trong ios Application, Bây giờ tôi muốn Fetch tất cả hồ sơ từ Entity MUSTHAFALàm thế nào để lấy tất cả các bản ghi Từ CoreData Base bằng NSManagedObjectSubClass?

My NSManagedObjectedSubClass is MUSTAHFA 

MUSTHAFA.m

#import <Foundation/Foundation.h> 
#import <CoreData/CoreData.h> 

@interface MUSTHAFA : NSManagedObject { 
@private 
} 
@property (nonatomic, retain) NSString * FirstName; 
@property (nonatomic, retain) NSNumber * Age; 
@property (nonatomic, retain) NSString * Location; 
@property (nonatomic, retain) NSString * LastName; 

@end 

#import "MUSTHAFA.h" 


@implementation MUSTHAFA 
@dynamic FirstName; 
@dynamic Age; 
@dynamic Location; 
@dynamic LastName; 

@end 

Thêm Records để Core Data

-(void)AddRecordToCoreData{ 

    //NSLog(@"______ ADD Core Data Implementaion"); 
    MUSTHAFA *event = (MUSTHAFA *)[NSEntityDescription insertNewObjectForEntityForName:@"MUSTHAFA" inManagedObjectContext:managedObjectContext]; 
    [event setLastName:@"JOHN"]; 
    [event setFirstName:@"JOSE "]; 
    [event setLocation:@"IDUKKI "]; 
    [event setAge:[NSNumber numberWithInt:25]];  
    NSError *error; 
    if (![managedObjectContext save:&error]) 
     {  
     NSLog(@"Error..%@",error); 
    } 
     else 
     { 
     NSLog(@"Data added to MUSTHAFA "); 
     }  
} 

Lấy tất cả các giá trị từ dữ liệu lõi giống như chọn * từ dbTable;

-(void)FetchRecordFromCoreData:(id)data1{ 

    //NSLog(@"______ Fetch Core Data Implementaion"); 
    MUSTHAFA *event = (MUSTHAFA *)[NSEntityDescription insertNewObjectForEntityForName:@"MUSTHAFA" inManagedObjectContext:managedObjectContext]; 

    //USING event how can fetch all record from Data base; 


} 

Sự kiện USING (Instance of MUSTAHFA) cách lấy tất cả bản ghi từ cơ sở dữ liệu?

Trả lời

25
NSManagedObjectContext *context = //Get it from AppDelegate 

NSFetchRequest *request = [[NSFetchRequest alloc]initWithEntityName:@"MUSTHAFA"]; 

NSError *error = nil; 

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

if (error != nil) { 

    //Deal with failure 
} 
else { 

    //Deal with success 
} 

[request release]; 
+0

NSFetchRequest * yêu cầu = [[NSFetchRequest alloc] initWithEntityName: @ "MUSTHAFA"] là những gì; dòng có nghĩa là – Musthafa

+0

tôi muốn làm việc như chọn * từ MUSTAHFA – Musthafa

+5

Đó là những gì nó làm. Nếu bạn muốn sử dụng CoreData, tôi khuyên bạn nên xem qua một hướng dẫn. Đây là một: http://www.raywenderlich.com/934/core-data-on-ios-5-tutorial-getting-started –

6
AppDelegate *delegate = [UIApplication sharedApplication].delegate; 

NSManagedObjectContext *context =[delegate managedObjectContext]; 

NSFetchRequest *request = [[NSFetchRequest alloc]initWithEntityName:@"Channels"]; 

NSError *error = nil; 
NSArray *results = [context executeFetchRequest:request error:&error]; 

ChannelDBArray=[[NSMutableArray alloc]init]; 

for (NSManagedObject *obj in results) { 


    NSArray *keys = [[[obj entity] attributesByName] allKeys]; 
    NSDictionary *dictionary = [obj dictionaryWithValuesForKeys:keys]; 

} 
if (error != nil) { 

    //Deal with failure 
} 
else { 

    //Deal with success 
}