ios - 使用检索到的核心数据

标签 ios objective-c xcode core-data

似乎找不到任何问答或任何对我有帮助的东西,但如果你找到一些,请随时链接! 我从核心数据实体中提取了数据,并使用 setPropertiesToFetch 提取了“行号”列表。 现在我想要的是将任何设置为 nil 的行号更改为 0。

问题 1)“发送到实例 0x59ef30 的无法识别的选择器”。我知道这个错误来自“if”行,通过注释掉其他错误,但我不确定是什么原因造成的!

问题 2)我希望它在增加计数后执行的操作再次运行,因此它会检查下一个对象,但我真的不确定最好的代码来执行此操作。任何有关方法/代码片段/教程的建议都会很受欢迎!

这是代码(上面的获取请求工作得很好:))

changeTo0 = [[context executeFetchRequest:fetchRequest error:&error] mutableCopy];
NSLog(@"What is even in this array anyway? %@", changeTo0);
[fetchRequest release];

NSLog(@"In the array there is %u records", [changeTo0 count]);

NSInteger count = 0;
Fsode *details = [changeTo0 objectAtIndex:count];
NSLog(@"In details we have %@", details);        

if ([details lineNumber] == nil){
   [details setValue:0 forKey:@"lineNumber"];
   ++count
   NSLog(@"HERE");
}

最佳答案

关于第一个问题,你应该说说错误(见 Phillip Mills 评论)和模型。 Fsode 实体是否有一个名为 lineNumber 的属性?是什么类型的?

关于第二个问题,像下面这样的请求只执行一次:

NSArray* results = [context executeFetchRequest:fetchRequest error:&error];
NSLog(@"What is even in this array anyway? %@", results);

int count = 1;
for(NSManagedObject* obj in results) {

    // I suppose lineNumber is of type NSNumber
    int numberValue = [[obj valueForKey:@"lineNumber"] intValue];    
    if(numberValue == 0) {

        [obj setValue:[NSNumber numberWithInt:count] forKey:@"lineNumber"];
        count++;
    }
}    

[fetchRequest release];

// do a save here...

附言阅读您的代码,我不确定第二个问题。请随意解释您想要实现的目标。

我使用的代码为行号为零的每个对象递增 lineNumber。 所以第一个对象有 1,第二个有 2,依此类推。如果你想为这些对象放置一个常量行号替换

[obj setValue:[NSNumber numberWithInt:count] forKey:@"lineNumber"];

[obj setValue:[NSNumber numberWithInt:1] forKey:@"lineNumber"]; 并删除 count(这与您的代码相同)。

关于ios - 使用检索到的核心数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12598055/

相关文章:

ios - Tableview 忘记了 UISegmentedControl 中的 selectedSegment?

objective-c - 在 Objective-C 中拦截方法调用

iphone - 指针困惑

c++ - 在 Xcode 上用 C++ 创建模板类

ios - 导航栏颜色 ios 7

ios - 对于 iPhone map 应用程序,如何创建图表?

ios - 在 UIDatePicker 中将 Years 设置为最大值

ios - 在 Nest API iOS 中成功注销后如何重新加载登录页面

iphone - 应用发布到Appstore后图像消失

ios - 高分重置为 0