gpt4 book ai didi

iphone - 从核心数据获取到数组时出现问题

转载 作者:行者123 更新时间:2023-12-03 17:44:45 24 4
gpt4 key购买 nike

在我的核心日期中,实体名称称为“事件”,其中有一个属性称为“名称”。我想将 coredata 中的所有 term 值提取到 nsarray 中。我使用了下面的代码,但它不起作用。请任何人帮忙。

NSFetchRequest *request = [[NSFetchRequest alloc] init];

[request setEntity:[NSEntityDescription entityForName:@"Event" inManagedObjectContext:managedObjectContext]];

NSError *error = nil;
NSArray *events = [managedObjectContext executeFetchRequest:request error:&error];
NSAssert2(events != nil && error == nil, @"Error fetching events: %@\n%@", [error localizedDescription], [error userInfo]);
NSMutableArray *namesArray = [[NSMutableArray alloc]init];
namesArray = [events valueForKey:@"name"];

最佳答案

你的代码很接近,即使你泄漏了内存,也应该可以工作。

NSFetchRequest *request = [[NSFetchRequest alloc] init];

[request setEntity:[NSEntityDescription entityForName:@"Event" inManagedObjectContext:managedObjectContext]];

NSError *error = nil;
NSArray *events = [managedObjectContext executeFetchRequest:request error:&error];
NSAssert2(events != nil && error == nil, @"Error fetching events: %@\n%@", [error localizedDescription], [error userInfo]);
//You were leaking your request here
[request release], request = nil;
//The following line is redundant. You are leaking an array here
//NSMutableArray *namesArray = [[NSMutableArray alloc]init];
NSArray *namesArray = [events valueForKey:@"name"];

此时您应该有一个名称数组,它们是 NSString 实例。

下一个问题是——为什么?当您已经拥有 NSManagedObject 实例时,为什么需要将它们提取到字符串数组中?为什么要断开数据与核心数据对象的连接。

关于iphone - 从核心数据获取到数组时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3209986/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com