Core Data 多表连接及查询

一:先建议两张表

  1. Person,Score 分别代表,学生表,分数表
  2. 在 Person的Relationships里面建立关系,指向分数score

二:coreData生成的两个表:

     Person

    

复制代码
@class Score;

@interface Person : NSManagedObject

@property (nonatomic, retain) NSString * address;
@property (nonatomic, retain) NSNumber * age;
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) Score *score;

@end
View Code
复制代码

  Score

复制代码
@interface Score : NSManagedObject

@property (nonatomic, retain) NSNumber * dotNet;
@property (nonatomic, retain) NSNumber * java;
@property (nonatomic, retain) NSNumber * php;

@end
View Code
复制代码

三:添加记录查询记录代码

复制代码
- (void)addTheRowData
{
    Person *person = [NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:self.appDelegate.managedObjectContext];
    person.name = @"李四";
    person.age = [NSNumber numberWithInt:20];
    person.address = @"中国济南";
    
    Score *score = [NSEntityDescription insertNewObjectForEntityForName:@"Score" inManagedObjectContext:self.appDelegate.managedObjectContext];
    score.dotNet = [NSNumber numberWithFloat:70.77];
    score.php = [NSNumber numberWithFloat:80.88];
    score.java = [NSNumber numberWithFloat:90.99];
    
    person.score = score;
    //score.person = person;
    
    
    [self.appDelegate saveContext];
    
}

- (void)showTheTableData
{
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc]initWithEntityName:@"Person"];
    NSError *error;
    NSArray *fetchedObjects = [self.appDelegate.managedObjectContext executeFetchRequest:fetchRequest error:&error];
    for (Person *info in fetchedObjects) {
        //Score *score = info.score;
        NSLog(@"name:%@ age:%@ address:%@ --- dotNet:%@ java:%@ php:%@", info.name,info.age,info.address,info.score.dotNet,info.score.java,info.score.php);
    }
    
    
}
复制代码

 

posted @   cocoajin  阅读(2327)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示