我完全按照Twitter文档中的描述实现Twitter Fabric iOS Show Timelines示例: https://dev.twitter.com/twitter-kit/ios/show-timelines
但是,我收到了构建错误:
无法覆盖' init'已被标记为不可用
...在"必需的init"下面的一行。
我感谢您提供这个新手的任何帮助。提前谢谢。
import UIKit
import TwitterKit
class ViewController: TWTRTimelineViewController {
convenience init() {
let client = Twitter.sharedInstance().APIClient
let dataSource = TWTRUserTimelineDataSource(screenName: "fabric", APIClient: client)
self.init(dataSource: dataSource)
}
override required init(dataSource: TWTRTimelineDataSource) {
super.init(dataSource: dataSource)
}
required init(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
答案 0 :(得分:0)
还添加以下初始化程序
required convenience init(coder aDecoder: NSCoder) {
self.init()
}
从TWTRTimelineViewController.h
的TwitterKit头文件更新方法声明,如下所示:
- (id)initWithCoder:(NSCoder *)aDecoder;// __attribute__((unavailable("Use -initWithDataSource: instead")));
我在__attribute__((unavailable
中使用此initWithDataSource:
时对convenience init
进行了评论。
这是临时解决方法,任何人都可以根据需要更新此答案。如果有的话,我也会发布更新。
答案 1 :(得分:0)
Twitter开发支持确认这是一个错误,他们将尽快发布修复程序。以下是Twitter开发论坛上的问题链接: https://twittercommunity.com/t/show-timelines-swift-example-failing-with-cannot-override-init-which-has-been-marked-unavailable/37853