gpt4 book ai didi

ios - 使用 TwitterKit 获取用户的完整信息

转载 作者:行者123 更新时间:2023-11-28 10:50:50 25 4
gpt4 key购买 nike

我正在使用 this API获取用户的关注者列表,并按照文档中的描述返回 JSON 格式的关注者。这是返回对象的片段:

{
"users": [
{
"id": 2960784075,
"id_str": "2960784075",
"name": "Jesus Rafael Abreu M",
"screen_name": "chuomaraver",
"location": "",
"profile_location": null,
"url": null,
"description": "",
"protected": false,
"followers_count": 1,
"friends_count": 101,
"listed_count": 0,
"created_at": "Sun Jan 04 19:58:06 +0000 2015",
.....
.....
"default_profile": true,
"default_profile_image": false,
"following": false,
"follow_request_sent": false,
"notifications": false,
"muting": false
},
.....
.....
],
"next_cursor": 1489467234237774933,
"next_cursor_str": "1489467234237774933",
"previous_cursor": 0,
"previous_cursor_str": "0"
}

如您所见,用户对象有很多属性,我不想一个一个地解析它们,或者使用一个库来为我做这些。

TwitterKit 有一个名为 TWTRUser 的类,这里是 documentation .要初始化此类的对象,您只需使用一个采用 JSON 字典的构造函数,如下所示:

let follower = TWTRUser(jsonDictionary: jsonDictionary)

通过这种方式,我可以获得返回给我的 JSON 对象,并对其进行解析并初始化一个 TWTRUser 对象。

问题是 TWTRUser 没有返回的 JSON 中列出的所有属性,它只有 documentation 中列出的这些属性:

userID property
name property
screenName property
isVerified property
isProtected property
profileImageURL property
profileImageMiniURL property
profileImageLargeURL property
formattedScreenName property
profileURL property

我尝试使用 valueForKey 方法获取一个键并返回它的值,如下所示:

let createdAt = follower.value(forKey: "created_at")

我以为它会起作用,但它没有。当我使用它时,应用程序崩溃并给我以下消息:

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[ valueForUndefinedKey:]: this class is not key value coding-compliant for the key contributors_enabled.'

如何使用 TWTRUser 类获取所有用户的属性?

最佳答案

value(forKey:)是继承自 NSObject 的方法,用于 Key-Value Coding所以它不会返回 JSON 的结果。 TWTRUser 类只定义了 10 个属性,这就是您可以使用它获得的全部内容。如果要获取其他属性,则必须使用以下代码行(使用标准库)自己解析 JSON

let user = try JSONSerialization.jsonObject(with: jsonDictionary) as? [String: Any]

关于ios - 使用 TwitterKit 获取用户的完整信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46253352/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com