我有json喜欢:
{
cities: {
1: "London",
3: "New York",
9: "Tokio",
10: "Moscow"
},
keywords: {
120: "walk",
121: "run",
122: "eat",
123: "lake"
},
parks: [
{
id: "1",
likes: "5",
parkName: "Park 1 in NEW YORK",
city: "3", // id of the City NEW YORK
keywords: [
"120",
"121"
]
},
{
id: "1",
likes: "678",
parkName: "Park 2 in NEW YORK",
city: "3", // id of the City NEW YORK
keywords: [
"120",
"123"
]
},
{
id: "1",
likes: "416",
parkName: "Park in London",
city: "1", // id of the City London
keywords: [
"123",
"122"
]
},
... so many ...
]
}
}
所以,在xcode中,我想这样使用:样本Xcode核心数据关系
我创建nsmanagebject子类,我有此方法:
- (void)addParksObject:(PKParks *)value;
- (void)removeParksObject:(PKParks *)value;
- (void)addParks:(NSSet<PKParks *> *)values;
但是,我希望使用城市和关键字的 id 将公园表连接到MySQL中的另一个表格。所以,我有很多公园,一些城市和关键字。
这是存储数据正确方法的方法吗?
- 我应该存储 id 城市和关键字吗?
- 我应该像在mysql中一样手动连接桌子?
- 我应该将JSON格式更改为没有IDS吗?
例如JSON:
{
parks: [
{
id: "1",
likes: "5",
parkName: "Park 1 in NEW YORK",
city: "NEW YORK",
keywords: [
"walk",
"run"
]
},
{
id: "1",
likes: "678",
parkName: "Park 2 in NEW YORK",
city: "NEW YORK",
keywords: [
"walk",
"lake"
]
},
{
id: "1",
likes: "416",
parkName: "Park in London",
city: "London",
keywords: [
"lake",
"eat"
]
},
... so many ...
]
}
}
但是,我希望使用城市和关键字的ID将公园表连接到MySQL中的另一个桌子。
这是认为核心数据就像SQL的经典错误。它使用 sqlite,但是SQL风格的思维会让您陷入困境。
核心数据旨在保存模型对象的实例。这些对象可能具有模型对象的属性。那是核心数据关系。您不使用外键或对象ID来表示关系,而是使用模型对象属性。核心数据将其转换为SQL。
您可能想阅读一些有关核心数据关系的工作方式。