我在核心数据中的实体中有很多字段(比如实体称为地址),例如街道,数字,城市和州。我希望用户输入一个文本字符串,以便应用程序在实体地址中搜索匹配的记录。我该怎么做?
我基本上想要一个生成的字段(搜索字段),它将是“数字,街道,城市,州”,并尝试查找记录,使此搜索字段包含输入字符串。我希望这个字段在它包含的任何字段(例如“数字”,“街道”,“城市”,“状态”)发生变化时自动更新。
我在谷歌上环顾四周,发现数据库查看事物(https://en.wikipedia.org/wiki/View_(SQL))似乎很有希望。但我找不到有关如何在核心数据中创建数据库视图的任何信息。有谁可以指点我的方向?谢谢!
答案 0 :(得分:1)
我不明白你问题的某些部分,但我最初的想法是:
核心数据中的实体中有很多字段(比如实体是 称为地址),如街道,数字,城市和州。我想要 用户输入文本字符串,以便应用程序搜索实体 匹配的记录的地址。我该怎么做?
我基本上想要一个生成的字段(搜索字段) 是“数字,街道,城市,国家”,并试图找到这样的记录 此搜索字段包含输入字符串。我希望这个领域 当它包含的任何字段时自动更新(例如, “数字”,“街道”,“城市”,“国家”)的变化。
将您的控制器(或其他对象)指定为UITextField的委托。覆盖最合适的委托方法,然后使用输入的字符串对Core Data模型执行提取查询。使用最高结果更新回调中的视图。
我在Google上四处寻找并发现SQL查看的东西 似乎很有希望但我找不到任何有关如何创建的信息 核心数据中的数据库视图。有谁可以指点我的方向?谢谢!
SQL视图?你在谈论数据库浏览器吗? DB Browser Lite一直为我完成这项工作 - 它允许您浏览架构,数据和执行SQL查询。打印到控制台的模型位置,然后使用OS文件浏览器导航到该位置。
在Objective-C中,控制台打印出来的内容如下:
- (NSURL *)applicationDocumentsDirectory {
return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
}
Xcode每个人都没有数据库查看器。您可能知道,当您选择.xccdatamodelId文件时,可以在表视图中轻松编辑实体及其attritibute。从该文件中,您可以在图表视图中检查整个模型及其关系,就像UML快照一样。
答案 1 :(得分:1)
您可以在Address类中创建一个计算属性,并将其用于搜索。如果您更改它使用的任何属性,它将更新。
var fullAddress: String {
return "\(number) \(street) \(city ?? "") \(state ?? "")"
}
(这里我假设城市和州是可选属性)
关于Db视图,核心数据是ORM而不是SQL数据库,所以没有视图这样的东西。