Twitter Fabric" Show Timelines" Swift示例失败"无法覆盖' init'标记为不可用的内容"

时间:2015-05-17 07:22:43

标签: ios swift twitter

我完全按照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")
    }
}

2 个答案:

答案 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