【问题标题】:Twitter Fabric "Show Timelines" Swift example failing with "Cannot override 'init' which has been marked unavailable"Twitter Fabric“显示时间线”Swift 示例失败并显示“无法覆盖已标记为不可用的'init'”
【发布时间】:2015-06-06 03:30:22
【问题描述】:

我正在按照 Twitter 文档中的描述实现 Twitter Fabric iOS Show Timelines 示例: https://dev.twitter.com/twitter-kit/ios/show-timelines

但是,我遇到了构建错误:

无法覆盖已标记为不可用的“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")
    }
}

【问题讨论】:

  • 你在 Objective-c 中试过这个吗? @Kikaida

标签: ios swift twitter


【解决方案1】:

Twitter 开发人员支持确认这是一个错误,他们会尽快发布修复程序。以下是 Twitter 开发者论坛上该问题的链接: https://twittercommunity.com/t/show-timelines-swift-example-failing-with-cannot-override-init-which-has-been-marked-unavailable/37853

【讨论】:

    【解决方案2】:

    还添加以下初始化程序

    required convenience init(coder aDecoder: NSCoder) {
        self.init()
    }
    

    从 TwitterKit 头文件的TWTRTimelineViewController.h 更新方法声明如下:

    - (id)initWithCoder:(NSCoder *)aDecoder;// __attribute__((unavailable("Use -initWithDataSource: instead")));
    

    在这里我评论了__attribute__((unavailable,因为我们在convenience init 中使用了这个initWithDataSource:

    这是临时解决方法,任何人都可以根据需要更新此答案。如果有更新,我也会发布。

    【讨论】:

    • 谢谢扎拉。构建成功,但现在我得到了这个:“线程 1:EXC_BAD_INSTRUCTION (code=EXC_i386_INVOP, subcode=0x0) on the 'let Datasource...”行。我做错了什么?
    • @Kikaida 您能否提供有关崩溃的更多信息,您是否调试过您的代码。你在故事板中使用 tableView 控制器吗?
    • 感谢您的帮助,Zala。我将等待 Twitter 修复错误。感谢您的时间和精力。
    • 很高兴能提供帮助,我也怀疑 twitter 错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 2013-10-19
    • 2017-09-06
    • 1970-01-01
    • 2013-04-23
    相关资源
    最近更新 更多