问题内容: 如何在Swift中获得对应用程序委托的引用? 最终,我想使用引用来访问托管对象上下文。 问题答案: 另一种解决方案是正确的,因为它将为您提供对应用程序委托的引用,但这将不允许您访问UIApplication的子类添加的任何方法或变量,例如托管对象上下文。要解决此问题,只需向下转换为“ AppDelegate”或您的UIApplication子类碰巧被调用的任何东西。在 Swift 3、
问题内容: 如何从Swift XCode中的日期创建日期对象。 例如在JavaScript中,你会做: 问题答案: 雨燕有自己的类型。无需使用。 在Swift中,日期和时间存储在64位浮点数中,该浮点数用于测量自2001年1月1日UTC的参考日期以来的秒数。这在结构中表示出来。以下内容将为您提供当前日期和时间: 若要创建其他日期时间,可以使用以下方法之一。 方法一 如果您知道2001年参考日期之前
问题内容: 来自标准库的文件包含围绕228行的以下几行代码: 在这种情况下是什么意思,或者通常是什么关键字? 问题答案: 是Swift 3中的新访问级别,随实现而引入 SE-0117允许区分公共访问权限和公共替代权限 从2016年8月7日开始,Swift 3快照和Xcode 8 beta 6都可以使用它。 简而言之: 在定义模块之外, 可以访问 和 可继承 一个类。一类成员是 可访问 和 可重写
问题内容: Xcode 8 beta 4中的新增功能桥接到Swift 协议类型。处理失败的时,这会影响StoreKit 。您应该检查以确保没有发生错误,因为交易被取消了才知道是否向用户显示错误消息。您可以通过检查错误的完成此操作。但是使用代替,没有定义。我还无法弄清楚如何从中正确获取错误代码。 这在Swift 3的先前版本中有效: 现在是一个not ,不是成员。 问题答案: 在xCode 8和Sw
问题内容: 我想在Swift中存储一系列弱引用。数组本身不应该是一个弱引用-它的元素应该是。我认为可可对此提供了非类型安全的版本。 问题答案: 创建通用包装,如下所示: 将此类的实例添加到您的数组。 定义时,可以使用或。 另外,为了帮助获取数组内容,您可以按照以下方式进行操作: 上面的用法应替换为-但我不认为当前的Swift语言允许这样定义扩展。
问题内容: 该文档仅提及嵌套类型,但尚不清楚它们是否可用作命名空间。我还没有发现任何有关命名空间的明确提及。 问题答案: 在苹果开发论坛中, SevenTenEleven 回答了: 命名空间不是按文件的;它们是基于目标的(基于“产品模块名称”构建设置)。因此,您最终将得到如下结果: 所有Swift声明都被认为是某个模块的一部分,因此即使您说“ ”(是的,它仍然存在),您也会得到Swift认为的“
问题内容: 我一直在浏览StackOverflow问题,以弄清楚我的代码出了什么问题,但我似乎无法做到!我试图将我的Swift 1.2项目转换为Swift 2.0,并且我的类在下载JSON数据时遇到问题。 我不断 在void函数中 收到错误 Unexpected non-void返回值 。 这是我正在使用的代码,有些被截断了; 也许我忽略了一些简单的事情,但是我不确定为什么我的函数将被认为完全无效
问题内容: 试图在Swift中解码JWT有效负载并遇到困难 问题答案: 不是有效的Base64编码字符串,因为它的长度不是4的倍数。某些Base64解码器可以容忍此错误,但方法不能。 因此,这实际上是在服务器端创建Base64编码的字符串时出现的错误。如有必要,您可以通过添加所需的字符填充来在应用程序中对其进行修复(已为Swift 2更新了代码): 现在解码可以按预期进行: 斯威夫特4:
问题内容: 例如: 字典将包含以下内容: 在Swift中有可能吗? 我是否可以访问像字典这样的类,例如可能使用: 或类似的东西? 谢谢。 问题答案: 您只需将计算属性添加到您的属性中即可返回带有您的值的。请注意,Swift本机字典类型没有任何称为的方法。您需要将您强制转换为: 您还可以按照@ColGraff发布的链接答案中的建议扩展协议,以使其对所有结构通用:
问题内容: Swift的这个成语很有道理 但是,我 真正 想要的是 如所写,这不是不正确的,但是这个想法可行吗? 问题答案: Swift 1.2更新 从Swift 1.2开始,允许展开多个可选选项,因此您现在可以编写此代码,如示例所示: 您甚至可以交错条件,例如: 以前在Swift 1.2之前有效 这是在没有难看的强制包扎的情况下的方法: 实际上,它仍然很冗长。 之所以可行,是因为表单的可选类型实
问题内容: 我想制定一个程序来找出一个字符串中有多少个单词,并用空格,逗号或其他字符分隔。然后再将总数相加。 我正在做一个平均计算器,所以我想要数据的总数,然后将所有单词加起来。 问题答案: 更新: Xcode 10.2.x•Swift 5或更高版本 使用Foundation方法并将设置设置为选项: 或使用本机Swift 5的新属性和split方法: 扩展以支持子字符串:
问题内容: tl; dr 是否可以实例化具有类型关联值的通用Swift 4枚举成员? 背景 我正在使用一个简单的 Result 枚举(类似于典型的Result): 现在,我想使用这个枚举来表示操作的结果,该操作不会产生实际的结果值;该操作是 成功 还是 失败 。为此,我将类型定义为,但是我在如何创建Result实例方面苦苦挣扎,这都不可行。 问题答案: 在Swift 3中,您可以省略type的关联
问题内容: 我熟悉做pcre正则表达式,但是它们似乎并没有很快起作用。 验证数字1,000,000.00 但是,将其放在我的swift函数中会导致错误。 “乱抛垃圾序列无效” 这当然是因为pcre使用“ \”字符,该字符被迅速解释为转义符(我相信吗?) 因此,由于我不能只使用我习惯的正则表达式。如何将它们翻译为与Swift代码兼容? 问题答案: 在双引号中,单个反斜杠将被读取为转义序列。您需要再次
问题内容: 我正在使用2014年WWDC教程408:使用XCode Beta 3(30分钟)的Swift Playgrounds。自Beta 2起,Swift语法已更改。 为什么我不能以这种方式修改可变整数数组? 问题答案: 因为子例程参数是隐式定义的,因此是不可变的。尝试将声明更改为: 以及对以下内容的调用: 您也可以使用,但这仅允许在子例程中修改数组。Beta 3的最大变化是使数组真正按值传递
问题内容: 我需要查看由某个URL给出的页面的HTML。如果我有这个,使用Swift获取该URL的HTML源的最有效和同步的方法是什么?我还没有找到一种简单的在线方式来将其返回到变量中,而不是在completionHandler中将其打印出来。 无论使用URL的任何调用,我都需要操纵源。如何在Swift中完成? 问题答案: 免责声明:由于这已经获得了很多意见,我只想提醒大家,这里的答案是同步的,如