【问题标题】:Xcode: model adding entitiesXcode:模型添加实体
【发布时间】:2014-08-09 02:29:44
【问题描述】:

我正在试验返回一些带有下划线的字段的 API,比如 _id。我无法在 -xcdatamodel 中映射此字段。属性必须以字母开头。

我也尝试将此字段映射为“id”,并在“用户信息”会话中提供一个键/值,如 id : _id 但没有成功。

你有解决这个问题的办法吗?据我所知,有很多 API 的字段都带有下划线。

其他非下划线字段映射没有问题。

{
    "__v": 0,
    "_avRateDelay": 5,
    "_avRateRecommend": 5,
    "_avRateStaff": 5,
    "_id": "530f733df222bf594b190e0a10",
    "_reviews": 1,
    "active": 1,
    "address": {
        "city": "Little Rock",
        "country": "USA",
        "other": "",
        "state": "AZ",
        "street": "2701 E Roosevelt Rd",
        "zip": "72206"
    },
    "location": {
        "lat": 34.721175,
        "lng": -92.24168600000002
    },
    "name": "Certainteed 69"
}

【问题讨论】:

标签: mongodb core-data ios7 xcode5 mmrecord


【解决方案1】:

不要在 Objective-C 中使用 id_idid 是保留字。由于许多服务器都喜欢使用它,我建议您编写映射代码,以便将其从服务器 id 映射到 identifier 之类的东西。

由于无论如何您都需要编写代码来解析字段,因此查找该键并对其进行更改并不困难。您甚至可以将映射存储在NSEntityDescription 中并设置代码以查找其他映射并更改它们。这样,您可以将其他服务器样式的值(例如 created_at)更改为它们的 Objective-C 对应值,例如 createdAt

键/值可以直接在模型编辑器中编辑,然后通过NSManagedObject 上的-entity 属性访问。

【讨论】:

  • 我正在使用 MMRecord 框架来自动创建和填充从 API 返回的对象。无需手动映射。
  • 我建议以后将其添加到您的问题中,以免人们浪费宝贵的时间。
猜你喜欢
  • 1970-01-01
  • 2016-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-03
  • 2016-08-08
  • 2011-09-25
相关资源
最近更新 更多