objective-c - NSEntityDescription 工作正常,但分析器说值从未被读取

标签 objective-c cocoa core-data nsentitydescription

我对 Xcode 分析器的评论感到困惑。我在 Stack 上搜索过,但没有真正找到类似的情况。我有一个 CoreData/SQLite 应用程序,用户在表中选择一条记录,获取该实体的所有属性。然后,根据条件,就会做事。

“ordersController”是数据的 NSArrayController。 “订单”是所涉及的实体。 “objectAtIndex:0”是表中选定的记录。

这是代码:

NSArray* selectedObjects = [ordersController selectedObjects];
NSEntityDescription *entityOrder = [NSEntityDescription entityForName:@"Order" inManagedObjectContext:managedObjectContext];
entityOrder = [selectedObjects objectAtIndex:0];
if ([entityOrder valueForKey: bla_bla_bla... { do_something }

该应用程序编译良好,没有崩溃,没有警告,并按预期正确处理数据。然而,当我启动 Xcode 的分析工具时,它指向这一行,说“在初始化期间存储到‘entityOrder’的值永远不会被读取。”

NSEntityDescription *entityOrder = [NSEntityDescription entityForName:@"Order" inManagedObjectContext:managedObjectContext];

实际操作并且变量被app正确修改的时候怎么会读不到呢?我应该如何改进我的代码?感谢您的帮助。

最佳答案

紧接该行之后

NSEntityDescription *entityOrder = [NSEntityDescription entityForName:@"Order" inManagedObjectContext:managedObjectContext];

然后将其重新分配给 selectedObjects 的第一个对象的内容

entityOrder = [selectedObjects objectAtIndex:0];

Xcode 分析器让您知道第一个分配是多余的,或者您正在将 [selectedObjects objectAtIndex:0] 的结果分配给代码中的错误变量。

关于objective-c - NSEntityDescription 工作正常,但分析器说值从未被读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8315034/

相关文章:

iphone - XCode:单个 ViewController 转到多个 ViewController

objective-c - 不熟悉的@interface 声明

cocoa - cocoa中目录的AES加密

macos - 使用 Core Data 和 iCloud 添加持久存储时涉及 PFUbiquityPeer 异常

cocoa - 将 NSSet 作为 Core Data 中 NSManagedObject 的一部分

iphone - 如何在核心数据中存储自定义配置类(即键值设计或自定义类)

iphone - iPhone 中图像的直方图

删除后核心数据崩溃的 iOS UITableView

ios - 如何高效过滤约20万个NSDictionaries的NSArray?

ios - 如何在滑动时更改 UIView 背景颜色?