问题标签 [nsfetchrequest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
247 浏览

iphone - 如何使用 NSFetchedResultsController 制作顺序过滤器

我想使用 NSFetchedResultsController 制作顺序过滤器。目标是首先显示更相关的结果。

例如:实体人:姓名 - 国家

1) 搜索字符串中包含姓名的人员。
2)国家包含搜索字符串的人。

通过顺序,我的意思是我想首先获得搜索结果 1),然后是 2)。

我不知道这样做的正确方法,因为您使用 1 NSFetchRequest 初始化 NSFetchedResultsController。但在这里,我需要 2 个 NSFetchRequest。使用 2 个请求的另一个问题是我可以使用第二个请求生成重复的项目。

是否可以使用 NSFetchedResultsController 来处理?

谢谢

这是一个例子:

  • 记录1:姓名:彼得国家:毛里求斯

  • 记录 2 : 名称 : Marc 国家 : 毛里塔尼亚

  • 记录 3 : 名称 : Maureen 国家 : 比利时

如果用户在搜索栏中输入“ma”:

我想先显示名称结果,然后显示国家/地区结果。

所以在这里,结果将按以下顺序排列:

  1. 马克(“MA”rc)
  2. 莫琳(“MA”ureen)
  3. 彼得(“MA”uritius)
0 投票
1 回答
317 浏览

uitableview - TableView 不显示任何数据(CoreData) - 应用程序崩溃

我无法从我的数据库中读取我的数据。我有一个带有标签栏控制器的应用程序。在第一个选项卡中,iphone 相机从条形码中拍摄照片并将结果发送到另一个视图 (CameraReturnDetailViewController)。在 CameraReturnDetailViewController 中是保存按钮,这里是保存按钮的代码:

现在,我的目标是在 TableView (ScansViewController) 的第二个选项卡中显示 taba:

起初,当我选择第二个选项卡(ScansViewController)时出现此错误:“由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'+entityForName:找不到实体名称'BarcodeDaten''的NSManagedObjectModel”

名称是正确的,但我不明白我的错误。

Tableview 中没有显示数据,为什么?

我错过了什么..?还是有什么不对?

感谢帮助,刷51

0 投票
1 回答
383 浏览

iphone - NSFetchedResultsController fetchedObjects 的深度

我在这里有一个奇怪的问题,我想知道它是否与延迟加载功能有关。我对我的类别进行了提取。想象一下他们有子类别,这些也有子子类别。现在的问题是:fetchedObjects-Array 是否也从子类别中收集关系数据。简而言之,是否可以访问类似这样的数据:category.subcategory.subsubcategory.name 还是我需要先对子类别进行新的提取才能像 subcategory.subsubcategory.name 一样获得访问权限?

当我一次提取时,我没有得到整套子子类别。我每次只得到 1 个条目而不是 20 个或任何计数。

有谁知道 coredata 是如何处理这个问题的?这是在每个新表上进行 fetchrequest 的常用方法吗?会不会太低效了?

谢谢你的帮助

0 投票
4 回答
4667 浏览

iphone - 如何在 Core Data 中使用二进制标志?

int32在核心数据数据库中有一个属性。我将其int用作enum位字段。

NSPredicate是否可以根据此 int 的二进制值创建查询项目?像@"bitFieldAttribute & 0x0001"什么?

我还想知道这是否可以使用二进制类型属性?

0 投票
5 回答
981 浏览

iphone - 核心数据:从 sqlite 数据库中获取数据的问题

我正在尝试在表格视图中显示一些数据,该表格视图是选项卡栏控制器中视图控制器的一部分。目前我正在尝试在 iPhone Simulator 上运行该应用程序。我将 sqlite 数据库复制到以下位置 - /Users/{username}/Library/Application Support/iPhoneSimulator/4.2/Applications/{appid}/Documents

现在我试图在viewWillAppear我的视图控制器的方法中获取数据。

问题是这在视图控制器中什么也没有显示,也没有错误。我已经在标签栏控制器中连接了所需的插座。

检查调试器,可变数组显示 0 个对象。我刚刚开始使用 iOS 开发。有人可以帮我弄清楚这里可能出了什么问题吗?

更新 - 在Yuji的评论的帮助下,我检查了 iPhone Simulator 的 Documents 文件夹中复制的文件。它没有任何数据。这就是视图没有显示数据的原因。因此,问题似乎出在我用来将文件从项目文件夹复制到应用程序的文档文件夹的代码中。

这是怎么回事....

不明白为什么这不起作用????

0 投票
1 回答
1296 浏览

iphone - FetchedResultsController 返回未知对象

我正在使用三个不同的 NSFetchedResultsController 从我的 sqlite 数据库中获取数据记录。在设备(iOS 3.1.3)上进行测试时,其中一个让我很难过。在模拟器(iOS 4.2,deploymentTarget 3.1.3)中运行它可以正常工作。

在设备上,获取返回的对象既不是请求的 NSDictionaries,也不是故障。

下面是 fetchedResultsController 的定义:

这是实际的获取:

在模拟器中,我得到了这些 SQL 回调:

但是在设备上运行它,给了我这个:

还不错,如果没有出现错误:

为什么 Core Data 在设备上运行时会更改查询?

NSKnownKeysDictionary1 到底是什么?为什么尝试访问控制器的 fetchedObjects 会在设备上出现错误?

有任何想法吗?提前致谢!

0 投票
1 回答
211 浏览

iphone - 有没有一种简单的方法来清除旧的核心数据实体?

我目前正在使用 RestKit 和 CoreData 从 RESTful Web 服务中提取“城镇”集合。但是,我注意到如果在 Web 服务上删除了某个特定城镇,它仍然会出现在我的 NSFetchedResultsController/UITableView 中。

很明显,在从服务接收到新城镇列表后,该记录永远不会被“触及”,因为 JSON 有效负载中没有对它的引用。

有没有一种简单的方法可以在从服务进行新更新之前删除“旧”城镇实体而不删除所有记录?我的最终目标是拥有一个与服务返回的完全匹配的 NSFetchedResults 控制器。

0 投票
1 回答
1249 浏览

iphone - 如何创建一个基于父关系过滤核心数据对象的 NSFetchRequest?

我有一个与此类似的核心数据模型:

  • 公司实体
    • companyName 属性(字符串)
    • 与 Employee 实体的多对多关系。
  • 员工实体
    • employeeID 属性(字符串)
    • 与母公司实体的一对一关系

我有一个根视图控制器,它在表格视图中列出了公司。然后选择一行将所选公司的索引推送到另一个视图控制器,该控制器在表中列出员工的。

在 Employee 视图控制器中,公司被设置为一个 NSManagedObject。

我添加新员工的代码如下所示:

这看起来正确插入了数据库,我可以看到 Company 的外键 ID 插入到 Employee 表中。

我正在尝试获取公司中所有员工的信息,但我遇到了困难。

这是我为 NSFetchRequest 提供的内容,但它只是给了我所有员工的(不是按公司):

0 投票
1 回答
169 浏览

ios - 为什么设置类变量 NSArray 需要我使用访问器方法?

我正在使用 NSFetchRequest 根据存储在核心数据中的对象在 UITableView 中创建一个部分。

在 viewDidLoad 中,我执行获取请求并将返回的 NSManagedObjects 数组设置为类变量 NSArray *allEvents。我正在设置从获取请求返回的数组,如下所示:

稍后我尝试在 numberOfRowsInSection 中调用 [allEvents count] 时遇到 EXEC_BAD_ACCESS 错误。

我设法通过将 self 添加到上面的代码行来设置获取请求中的数组来解决问题:

谁能解释为什么这有效?我遇到过类似的情况,很想知道发生了什么。

谢谢。

0 投票
1 回答
1335 浏览

iphone - 带有 SQLITE 存储的核心数据 NSPredicate

此代码返回 0 个不正确的对象。但是,当删除谓词时,获取请求会返回所有对象。

FullName 属性包含 unicode 数据(阿拉伯语)。

任何帮助表示赞赏。