当前位置: 首页 > 面试题库 >

关于“声明仅在文件范围内有效”

胡光霁
2023-03-14
问题内容

我有一个class + extension
swift文件。将我在另一个文件中声明的委托添加到类之后,Xcode在扩展行显示“声明仅在文件范围内有效”。我不知道问题是什么。

谁能帮我修复它?

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 {
    }
}

找到缺少的右括号,您应该解决问题。



 类似资料:
  • 问题内容: ja块变量还是局部变量?我看到j的作用域只是直到for循环结束 问题答案: 局部变量在方法,构造函数或块中声明。 由此可见, 所有块变量都是局部变量。 按照块的定义 块是平衡括号之间的一组零个或多个语句,可以在允许单个语句的任何地方使用。 所以 无论在块内声明什么变量,范围都限于该块。 因此范围仅限于该块内部。那是循环。

  • 我试图构建这个应用程序,但是Android Studio在文件上扔给我一个编译时错误,告诉我语句结构不正确。当我试图用公共修饰符声明一个方法时,第一个错误是“非法开始表达式”错误。然后,我使用的每个对象都找不到,不管对象是什么(菜单、视图、工具栏等)。 我可以在声明我的AppBarConfiguration之后很好地声明对象,但是我不能调用方法。 我曾尝试在调用onCreate之前添加私有对象并使

  • 问题内容: 以下方法不起作用,因为内部块声明的变量与外部块中的变量同名。显然,变量属于声明它们的方法或类,而不属于声明它们的块,因此,我无法编写一个简短的临时临时块进行调试,而恰好将外部作用域中的变量压入阴影只是片刻: 我使用过的几乎每种块范围语言都支持此功能,包括我在学校为解释器和编译器编写的琐碎小语言。Perl可以做到这一点,Scheme甚至C都可以做到。甚至PL / SQL也支持这一点! J

  • 一个变量在声明后都有初始值为字节表示的全0值。也就是所有类型的默认值是典型的零态(zero-state)。举例来说,默认的bool的值为false,uint和int的默认值为0。 对从byte1到byte32定长的字节数组,每个元素都被初始化为对应类型的初始值(一个字节的是一个字节长的全0值,多个字节长的是多个字节长的全零值)。对于变长的数组bytes和string,默认值则为空数组和空字符串。

  • 问题内容: 我在Ubuntu OS上。我想在日期范围为2012年5月28日至2012年5月30日创建的所有日志文件中添加一个单词(例如XYZ)。 我怎么做? 问题答案: 这与Banthar的解决方案稍有不同,但是它将与不支持的版本一起使用,并且显示了如何使用命令,这是一个非常有用的工具。 您可以使用该命令来查找“一定期限”的文件。这将查找5到10天前修改的所有文件: 然后在这些文件中搜索字符串:

  • 问题内容: 在其他任何地方都可以访问在静态块内声明的变量吗?他们是什么样的成员(即,他们也是静态成员吗​​?) 问题答案: 通常,程序员不需要在静态块内声明任何变量,通常这仅是为了确保初始化静态变量以供类的所有实例使用(取决于静态变量的范围)。 与方法和构造函数变量一样,在静态块内声明的变量将在该块内是局部的。 JDK文件