Ios 如何在coredata中创建数据库视图

Ios 如何在coredata中创建数据库视图,ios,database,sqlite,core-data,Ios,Database,Sqlite,Core Data,我在核心数据中的一个实体中有很多字段(比如这个实体被称为地址),比如街道、号码、城市和州。我希望用户输入一个文本字符串,这样应用程序将搜索实体地址中匹配的记录。我该怎么做 我基本上希望有一个生成的字段(搜索字段),它将是“数字、街道、城市、州”,并尝试查找一条记录,以便该搜索字段包含输入字符串。我希望此字段在其包含的任何字段(例如,“数字”、“街道”、“城市”、“州”)更改时自动更新自身 我在Google上四处搜索,发现了数据库视图()这似乎很有希望。但是我找不到关于如何在核心数据中创建数据库视

我在核心数据中的一个实体中有很多字段(比如这个实体被称为地址),比如街道、号码、城市和州。我希望用户输入一个文本字符串,这样应用程序将搜索实体地址中匹配的记录。我该怎么做

我基本上希望有一个生成的字段(搜索字段),它将是“数字、街道、城市、州”,并尝试查找一条记录,以便该搜索字段包含输入字符串。我希望此字段在其包含的任何字段(例如,“数字”、“街道”、“城市”、“州”)更改时自动更新自身


我在Google上四处搜索,发现了数据库视图()这似乎很有希望。但是我找不到关于如何在核心数据中创建数据库视图的任何信息。有人能给我指个方向吗?谢谢

我不理解你问题的某些部分,但我最初的想法是:

我在核心数据中的一个实体中有很多字段(假设该实体是 被叫地址),例如街道、号码、城市和州。我想要这个 用户输入文本字符串,以便应用程序搜索实体 匹配的记录的地址。我该怎么做

我基本上希望有一个生成的字段(搜索字段),它将 记录“号码、街道、城市、州”,并尽量找到这样的记录: 此搜索字段包含输入字符串。我希望这个领域 当包含任何字段时自动更新自身(例如。, “编号”、“街道”、“城市”、“州”)发生变化

将控制器(或其他对象)指定为UITextField的委托。重写最合适的委托方法,然后使用输入的字符串对核心数据模型执行fetch查询。在回调中使用最顶端的结果更新视图

我在谷歌上四处搜索,发现了SQL视图的东西 看起来很有希望。但是我找不到关于如何创建 核心数据中的数据库视图。有人能给我指个方向吗?谢谢

SQL视图?你说的是数据库浏览器吗?DB Browser Lite一直为我完成这项工作—它允许您浏览模式、数据和执行SQL查询。将模型的位置打印到控制台,然后使用OS文件浏览器导航到该位置

在Objective-C中,控制台打印输出类似于:

     - (NSURL *)applicationDocumentsDirectory {
        return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
    }

Xcode没有DB查看器。您可能知道,当您选择了.xCDataModelId文件时,可以在表视图中轻松编辑实体及其属性。从该文件中,您可以在图形视图中查看整个模型及其关系,就像UML快照一样。

我不理解您问题的某些部分,但我最初的想法是:

我在核心数据中的一个实体中有很多字段(假设该实体是 被叫地址),例如街道、号码、城市和州。我想要这个 用户输入文本字符串,以便应用程序搜索实体 匹配的记录的地址。我该怎么做

我基本上希望有一个生成的字段(搜索字段),它将 记录“号码、街道、城市、州”,并尽量找到这样的记录: 此搜索字段包含输入字符串。我希望这个领域 当包含任何字段时自动更新自身(例如。, “编号”、“街道”、“城市”、“州”)发生变化

将控制器(或其他对象)指定为UITextField的委托。重写最合适的委托方法,然后使用输入的字符串对核心数据模型执行fetch查询。在回调中使用最顶端的结果更新视图

我在谷歌上四处搜索,发现了SQL视图的东西 看起来很有希望。但是我找不到关于如何创建 核心数据中的数据库视图。有人能给我指个方向吗?谢谢

SQL视图?你说的是数据库浏览器吗?DB Browser Lite一直为我完成这项工作—它允许您浏览模式、数据和执行SQL查询。将模型的位置打印到控制台,然后使用OS文件浏览器导航到该位置

在Objective-C中,控制台打印输出类似于:

     - (NSURL *)applicationDocumentsDirectory {
        return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
    }

Xcode没有DB查看器。您可能知道,当您选择了.xCDataModelId文件时,可以在表视图中轻松编辑实体及其属性。从该文件中,您可以在图形视图中检查整个模型及其关系,就像UML快照一样。

您可以在Address类中创建一个计算属性,并将其用于搜索。如果您更改它使用的任何属性,它将更新

var fullAddress: String {
    return "\(number) \(street) \(city ?? "") \(state ?? "")"
}
(这里我假设城市和州是可选属性)


关于Db视图,核心数据是数据库而不是SQL数据库,因此没有视图。

您可以在Address类中创建计算属性,并将其用于搜索。如果您更改它使用的任何属性,它将更新

var fullAddress: String {
    return "\(number) \(street) \(city ?? "") \(state ?? "")"
}
(这里我假设城市和州是可选属性)


关于Db视图,核心数据是一个数据库,而不是SQL数据库,因此没有视图。

如果地址表的模式包含多个列,如“street”、“Country”、“Province”,我不知道如何查询核心数据,因为用户只需输入一个字符串,然后键入用户想要的内容。这是我所指的数据库视图:类似于:NSFetchRequest*request=[NSFetchRequest fetchRequestWithEntityName:@“Location”];[请求setPredicate:[NSPredicate Predicate WithFormat:@“street==%@或country==%@”,value,value]];n错误*错误=nil;NSArray*locations=[self.context executeFetchRequest:request error:&error];用户还可以在字符串中输入两个字段。。。但这绝对是一种方法,如果地址表的模式包含多个列,比如“street”,我不知道如何查询coredata,