我遇到的问题是,当我在iPhone上运行应用程序时,我的表格视图会填充看起来像汉字的内容。但是,当我通过模拟器运行应用程序时,我得到了预期的(英语)结果。以下是该问题的屏幕截图。
以下是填充对象的代码
private func populateArtists(_ maxRecordsToPopulate: Int, json: JSON) {
let artists = json["artists"]["items"]
for i in 0 ..< artists.count {
if i < maxRecordsToPopulate {
let artist = Artist()
print(artists[i]["name"].string!)
artist.name = artists[i]["name"].string!
artist.detailUrl = artists[i]["href"].string!
artist.id = artists[i]["id"].string!
self.searchResults.artists.append(artist)
}
}
}
当我在内部放置断点时,看起来返回的JSON值的解析方式不同。
我认为这可能是一个本地化设置或手机上的某个地方,但不知道如何找出是否属于这种情况。我尝试从手机中删除应用并重新安装,但也没有帮助。
我使用的框架是Facebook SDK,Alamofire和Swifty-JSON,以防任何这些可能导致这个奇怪的问题。
答案 0 :(得分:2)
通常这是HTTP请求中Accept-Language
标头的问题。设备是否设置为其他语言?如果是这样,它将默认使用该语言。您可以使用NSMutableURLRequest
手动更改标头值,并将该值更改为described here。
答案 1 :(得分:1)
您获得了不同的本地化版本的数据。在你的例子中 - “クイ - ン”是日语Katakana音译“女王”。 JSON解析问题不会将罗马文本转换为日语音译,因此您将获得具有不同内容的JSON。