ios - 关于 "Declaration is only valid at file scope"

标签 ios swift delegates

我有一个类和扩展 Swift 文件。将我在另一个文件中声明的委托(delegate)添加到类后,Xcode 显示此错误

Declaration is only valid at file scope

在延长线上。我不知道是什么问题。

谁能帮我解决这个问题?

class ListViewController: UIViewController, AddItemViewControllerDelegate {...}

extension ListViewController: UITableViewDataSource{
    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        tableView.deselectRowAtIndexPath(indexPath, animated: true)
        performSegueWithIdentifier("ShowDetail", sender: indexPath)
    }

}

最佳答案

错误在您的 ... 某处 — 该错误意味着您的 ListViewController 类没有关闭,因此扩展被解释为嵌套在其中,像这样:

class ListViewController {
    ...
    extension ListViewController {
    }
}

找到丢失的右大括号,你应该解决问题。

关于ios - 关于 "Declaration is only valid at file scope",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28554231/

相关文章:

ios - 替换NSDictionary中的键值

swift - 如何从 NSLog() 获取 "stringWithFormat"到 Swift 中的变量?

c# - 为什么没有订阅者时委托(delegate)为空而不是空列表?

ios - 将 Objective-C 转换为 Swift 时如何处理 Protocol Delegate

ios - 如何让 UITextFieldDelegate.shouldChangeCharactersInRange 触发自定义 inputView?

ios - 如何在ios应用程序中包含皮肤

ios - 我如何知道在哪些国家/地区可以通过 App Store 获取我的应用程序?

ios - 如何本地化 Cordova iOS 项目?

arrays - 如何创建元组数组?

ios - 在展开可选值 WKWebView 获取参数时意外发现 nil