问题标签 [swift2.2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
444 浏览

swift - 在 swift 2.2 中无法正确推断选项的类型

问题:

在 Xcode 7.3 和 swift 2.2 下运行以下代码时,编译器无法正确推断可选项的类型:

在我这边使用 Xcode 7.3 这将打印I am an Int?

但是,当我在将变量传递给函数之前用空字符串初始化变量时,开关会推断它是一个字符串?

这将I am a String?在以前的 Xcode 版本中打印。

你得到类似的结果吗?

观察:

使用此函数签名时也会发生同样的情况:

- 漏洞 -

这个问题是 swift 2.2 中的回归: https ://bugs.swift.org/browse/SR-1024

0 投票
5 回答
5850 浏览

ios - “表达式列表中的预期表达式”

我正在尝试使用一些代码来制作使用 Xcode 7.3 和 Swift 2.2 的初学者应用程序,但我一直遇到同样的问题。我以前使用过类似的代码,但这不起作用。出现的错误消息是“预期的','分隔符”,当我修复它时,同样的消息会一次又一次地出现。我还得到“表达式列表中的预期表达式”和“调用中参数'action'的参数缺失”。它们都是由同一行引起的

这是代码

0 投票
1 回答
830 浏览

swift - swift 2.2:惰性属性中的可失败初始化器

首先非常感谢您的帮助。我昨天刚刚升级了包含 swift 2.2 的 Xcode。我遇到了一些问题,但我按照 Natashatherobot 的“swift 2.2 中的新功能”主题快速解决了这些问题。但是有一个问题我无法解决。这是关于 swift 2.2 中引入的 UIFont 的可失败初始化程序。附上一段简单的代码,在 swift 2.2 中会报错。在我清理项目之前,它可能不会立即报告错误。

这是错误的屏幕截图

在此处输入图像描述

错误是: (name: String, size: CGFloat) -> UIFont' is not convertible to '(name: String, size: CGFloat) -> UIFont?'

我可以通过两种方式修复它:

方法1:不要把这行: let font = UIFont(name: "somefont", size: 10) ?? UIFont.systemFontOfSize(10) 放在'lazy instantiation'闭包中。(把它放在计算属性中不会报错)

方法2:而不是使用:

改用下面的(但是我认为这不应该是正确的方法,因为它使初始化程序更具“objc”风格):

但是我仍然不明白为什么它会在惰性属性关闭中报告我错误。如果有人能给我一些解释,我将不胜感激。

0 投票
1 回答
181 浏览

swift2 - 在 iOS 9.2 和 watchOS 2.1 中使用 Swift 2.2?

现在Swift 2.2 / iOS 9.3 / watchOS 2.2已经发布了,我可以使用设备更新应用程序Xcode 7.3并且仍然可以在iOS 9.2设备上工作吗?

例如,如果我开始使用#selector(someFunc)而不是,这会在设备selector("someFunc")上崩溃吗?iOS 9.2

0 投票
2 回答
1003 浏览

ios - 无法在 Xcode 7.3 中构建模块并在框架模块中包含非模块化标头错误

我在我的应用程序中使用 Facebook 登录身份验证并使用 CocoaPods 添加框架。一切都很好,直到我升级到Xcode7.3.

收到以下错误:

在此处输入图像描述

吊舱配置:

当我打开项目时,它突然显示错误Xcode 7.3
任何人都知道是什么导致了这个问题?

0 投票
1 回答
312 浏览

ios - Swift 2.2 打破了可选项/展开可选项

Swift 2.2 几乎破坏了我所有的代码。即使是这个简单的分配给 label 的字符串也不再起作用:

错误显示“从'字符串向下转换?!' to 'String' 只解开可选项,你的意思是使用 '!!' 吗?

我现在要做什么改变。

编辑

更多问题:

因此,我遇到了分段错误,错误显示如下:警告:从'String?!' 到不相关的类型 'NSArray' 总是失败

更新:

我在我的类中使用 NSDictionaries、NSArrays 似乎会导致问题。将所有文字从 Obj-C 更改为 swift 使代码正常工作。所以,我也会推荐其他开发人员更喜欢 swift 字面量。

0 投票
1 回答
55 浏览

ios - UITabBarView 使图像成为一个圆圈

我正在用图像编写应用程序,应该是头像。所以我希望这个头像是完全圆形的。我正在使用 AutoLayout,并且我知道如何在不使用延迟的情况下即使有约束也可以使图像看起来完美的圆圈!但是现在我正在使用标签栏视图(带有 TabBarView 控制器),当我尝试使用头像打开标签时,我遇到了问题:图片不是完整的圆圈。它不是菱形,但仍然不是圆形。但如果我尝试其他酒吧,然后带着头像回到酒吧,那将是完美的循环。看看下面的 gif 动画,你会看到一切:

在此处输入图像描述

有代码可以做到这一点:

但是这些方法都不能正常工作。拜托,也许有人知道如何解决这个问题?

0 投票
4 回答
21654 浏览

ios - #warning:C 风格的 for 语句已弃用,将在 Swift 的未来版本中删除

我只是用 swift 2.2 下载了一个新的 Xcode (7.3)。

它有一个警告:

C 风格的 for 语句已被弃用,并将在 Swift 的未来版本中删除。

我该如何解决这个警告?

0 投票
2 回答
10045 浏览

ios - 用于扩展非泛型类型的尾随 where 子句

我有以下代码:

在扩展至UIViewController. 许多视图控制器重用此代码来注册键盘通知。然而,对于 Swift 2.2,它会产生一个警告。我喜欢新#selector语法,但不确定在这种情况下如何实现它。

我认为正确的解决方案是制定一个协议并UIViewController仅针对符合该协议的实例进行扩展。到目前为止我的代码:

然而,这让我得到了错误

在扩展行上。有任何想法吗?

0 投票
2 回答
572 浏览

ios - swift 2.2 新的循环语法

我必须修改我的 swift 2 应用程序的 for 循环。目前我使用这种语法

我了解到我必须使用这个:

但我必须如何改变这个for循环: