Swift+Twift调用searchRecentTweets获取英文推文问题求助
Twift调用searchRecentTweets问题解决方案
1. 修复拼写错误与Set<Tweet.Field>参数设置
原代码中Set<weet.Field>存在拼写错误,正确写法为Set<Tweet.Field>,且不能直接传入类型,需指定具体要获取的推文字段集合。例如你需要获取推文文本和语言字段,可传入Set<Tweet.Field>([.text, .lang])。
2. 筛选英文推文
要仅获取英文推文,直接在搜索query中添加Twitter搜索运算符lang:en即可,比如将query设置为"Apple lang:en",Twift会将该参数传递给Twitter API,返回符合语言要求的推文。
修正后的完整代码
import UIKit import Twift class ViewController: UIViewController { @IBOutlet weak var backgroundView: UIView! @IBOutlet weak var textField: UITextField! @IBOutlet weak var sentimentLabel: UILabel! let twift = Twift(appOnlyBearerToken: myToken) override func viewDidLoad() { super.viewDidLoad() Task { do { let response = try await twift.searchRecentTweets( query: "Apple lang:en", fields: Set<Tweet.Field>([.text, .lang]), maxResults: 100 ) if let tweets = response.data { for tweet in tweets { print(tweet.text) print("推文语言:\(tweet.lang ?? "未知")") } } } catch { print("请求失败:\(error.localizedDescription)") } } } }
额外说明
- 移除了无用的
SwiftyJSON导入,Twift已内置数据解析能力 - 补充了错误处理逻辑,避免未捕获异常导致程序崩溃
- 可根据需求调整
Set<Tweet.Field>中的字段,比如添加.createdAt获取推文发布时间等
内容的提问来源于stack exchange,提问作者Adi Elron
相关产品推荐
相关产品推荐

