gpt4 book ai didi

ios - CoreData对象未填充值

转载 作者:行者123 更新时间:2023-12-01 19:01:25 25 4
gpt4 key购买 nike

我有这段代码,可以读取我的coreData并将其放入一个coredata对象数组中。.然后,我将其中一个coredata对象放入其自己的var类型中,但是并不是所有的属性都是从头开始填充的。

这就是我的代码的样子。

NSMutableArray *tempFinishing = [coreDataController readFinishing];
for (int i = 0; i < [tempFinishing count]; i++) {
currentProject = [[Project alloc] init];
currentProject = [tempFinishing objectAtIndex:i];

if ([currentProject.hasChange isEqualToString:@"T"]) {

当我检查hasChange时它返回为nil ...但是这很奇怪
如果我在控制台中执行此操作。
po currentProject.hasChange

返回nil
po currentProject.myID 

返回myID“1234”

然后
po currentProject.hasChange

返回“F” //这是不正确的,应该将其设置为T并在对其进行更改时已对其进行调试....但是,仅当我将其插入终端时,此方法才有效。

更新

现在收到这些警告
Incompatible pointer types sending 'NSString *' to parameter of type 'NSEntityDescription *'
Incompatible pointer types initializing 'Project *' with an expression of type 'NSManagedObject *'

使用此代码。
NSManagedObjectContext *context = [self managedObjectContext];
Project *currentProj = [[NSManagedObject alloc] initWithEntity:@"Project" insertIntoManagedObjectContext:context];

更新2

这是我的coredata readFinishing方法。
- (NSMutableArray *)readFinishing {
NSManagedObjectContext *context = [self managedObjectContext];
if (context == nil) {
NSLog(@"Nil");
}
else {
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Project" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSError *error;
NSMutableArray *projectDictionaryArray = [[NSMutableArray alloc] init];
NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];

for (Project *projects in fetchedObjects) {
[projectDictionaryArray addObject:projects];
}
return projectDictionaryArray;
}
return nil;
}

希望这有助于阐明一些..我已经为此工作了好几天..::大声笑

更新3

我想我可能已经发现问题了……在核心数据对象类中,我决定随机查看我发现的问题。

已更新为动态并正在测试...

最佳答案

必须将CoreData对象分配给上下文,并且通常需要使用NSEntitiyDescription创建

+ (id)insertNewObjectForEntityForName:(NSString *)entityName inManagedObjectContext:(NSManagedObjectContext *)context

喜欢:
Product *newProduct = [NSEntityDescription insertNewObjectForEntityForName:@"Product" inManagedObjectContext:context];

有关在代码中创建托管对象的更多信息,例如 here

关于ios - CoreData对象未填充值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22688260/

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