问题内容: 我正在看自动布局库中的一些代码。其中,UIView采用了一个协议: 一个空虚的成就是什么? 问题答案: 这些是采用协议的类必须为其提供吸气剂的属性。该协议未指定有关setter的任何内容,因此类可以提供计算的属性,而不是存储的属性。 例如,采用的类可以通过添加来满足具有的要求 或通过添加
问题内容: 我正在尝试使用以下代码声明和初始化属性。 但是,出现以下错误。 有人知道这是怎么回事吗?我应该放弃使用声明内联初始化属性的尝试,而是对init()方法进行初始化吗? 问题答案: 正如@giorashc所说,由于swift的两阶段初始化,self尚未被初始化,因此您不能这样做。 但是我认为您可以创建一个懒惰的初始化:
问题内容: 在Swift中,我可以使用格式说明符来格式化字符串: 但是官方文档没有提供有关受支持的格式说明符或如何构建类似于以下内容的模板的任何信息或链接:https : //developer.apple.com/documentation/swift/string/3126742-init 它只说: 返回一个String对象,该对象通过使用给定的格式字符串作为模板进行初始化,剩余的参数值将替换
问题内容: 可以说我已经创建了这个协议和几个类 现在,我想声明一个数组,其中包含符合此类协议的对象类。我该如何申报?理想情况下,我希望编译器检查数组(在编译时)是否正确填充,而不是自己在运行时(运行时)检查它。 这是我尝试的没有成功的方法:( 这会导致编译错误: ‘任何对象都没有名为’construct’的成员 由于类本身不符合协议(它们的实例符合),因此编写这种方法甚至更糟。 类型“ MyCon
问题内容: 在Swift中应该如何声明和使用位字段? 像这样声明一个枚举确实可行,但是尝试对2个值进行或运算将无法编译: 我研究了Swift如何导入Foundation枚举类型,它是通过定义符合协议的a 来实现的: 而协议是: 但是,没有关于该协议的文档,我无法自己弄清楚如何实现它。此外,还不清楚这是实现位字段的官方Swift方法,还是这仅仅是Objective- C桥如何表示它们的方式。 问题答
问题内容: 对于上述代码,快速二进制文件抱怨“未处理错误,因为未将封闭函数声明为” throws”。 我如何在上面声明“ someProperty”“抛出”? 和 和 似乎不起作用。 问题答案: Swift 5更新:仍然不可能。 从Swift 3开始: 您不能从计算的属性中抛出。如果要抛出,必须使用一个函数。Swift编程语言末尾的“ 语言参考”部分的“声明”部分仅列出(和)作为函数和初始化声明的
问题内容: 我有一个class + extension swift文件。将我在另一个文件中声明的委托添加到类之后,Xcode在扩展行显示“声明仅在文件范围内有效”。我不知道问题是什么。 谁能帮我修复它? 问题答案: 该错误在您的某个位置上-该错误意味着您的类没有被关闭,因此该扩展被解释为嵌套在其中,如下所示: 找到缺少的右括号,您应该解决问题。
问题内容: 如果我有一个闭包传递给这样的函数: 如果我在的捕获列表中声明self为,而没有在的捕获列表中再次声明自身,则它 已经成为一种类型,但它也同样成为引用吗? 谢谢! 问题答案: 该中是没有必要的。 您可以凭经验进行测试: 然后: 如果执行此操作,您将看到永不被调用,并且在调用其闭包之前被调用。 验证了此行为后,我个人仍然倾向于使用语法使我的意图明确,因为所有这些远非显而易见。
问题内容: 有没有一种方法可以在.swift文件(已编译为.swiftmodule)中声明函数,如下所示: 你好迅捷 主Swift 我还用这两个文件制作了一个git repo,并准备好了带有compile / link命令的Makefile 。目前,我可以获取main.swift来导入问候,但是当前无法链接…是否可以传递另一个链接器标志?当前的Makefile是: 问题答案: 会描述Swift模块
问题内容: 好的,所以我的项目中有很多辅助函数,而我最初在一个名为Animate的类中具有这些函数。我想知道声明func vc类func有什么好处。 让我们以此作为示例类: 因此,我相信如果我有一个类的功能,我不必照此实例化该类。 如果我只是用func声明函数,它将是: 但是,如果我根本不将文件声明为类: 当我调用该函数时,它只是: 没有指示代码来自何处,可以在项目中的任何地方这样使用它。 这三种
问题内容: 我希望能够用元数据注释我的类型和方法,并在运行时读取它们。 语言参考说明了如何声明属性用法,但实际上可以声明自己的属性吗? 阅读将需要某种反射机制,我根本无法在参考文献中找到这种反射机制,因此问题的第二部分可能是- 是否可能反射。如果这些功能在Swift中不可用,是否可以用Objective-C代码完成(但在Swift实例和类型上)? 相对不相关的注释:关于将什么建模为属性以及将哪些内
问题内容: 我对Swift编码还很陌生,所以如果这个错误是简单的答案,请原谅! 我不断收到一条错误消息,指出“表达式类型在没有更多上下文的情况下是模棱两可的”。 有什么建议? 谢谢! 问题答案: 您可以帮助编译器了解如下信息:
问题内容: 我目前正在一个主要是Objective-C的项目中编写一些Swift代码。在我们的ObjC代码中,我们有一个声明为的标头。然后,我们可以声明一个@property,它只能是实现的子类。 (注意:并且不是我定义的;它们是GPUImage库的一部分) 即使标头是在导入的标头中#import的,我们的Swift代码似乎也无法识别这一点。我试图在Swift中复制声明,但是这些都不是正确的语法:
问题内容: 我正在一个小型的单窗格应用程序中管理不同的语言,为每个注释使用不同的字符串数组,并由整数变量“ userLang”索引,然后设置label.text = array [index]。基本代码是: 我不断收到“期望的声明”错误。我曾尝试在引号(而不是数组)中使用简单的字符串作为测试,但仍然遇到相同的错误。我已经在网上搜索过,却没有找到解决问题的任何建议。如果我使用的是“保留”引用,我尝试
问题内容: Xcode 8 beta 4不再识别Foundation类。 我在一个简单的操场示例中复制了它: 由于在较早的Xcode 8 Swift 3 Beta中可用,我想这是一个需要修复的错误,而不是Playground中的某些源代码错误? 问题答案: 尽管未在Xcode发行说明中记录,但Swift Foundation中对Swift进化建议SE-0086 Drop NS Prefix 的第2