问题标签 [swift2]

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 投票
5 回答
48361 浏览

ios - 我什么时候应该将可选值与 nil 进行比较?

很多时候,您需要编写如下代码:

这似乎有点冗长,而且我听说使用!force unwrap 运算符可能是不安全的,最好避免。有没有更好的方法来处理这个?

0 投票
1 回答
18529 浏览

swift - 为 UITabBarItem 快速设置徽章值

我正在尝试添加一个徽章警报标签,如所附屏幕截图中的标签。

在此处输入图像描述

我试图搜索标题、标签 uitabbar 项目,但我被卡住了。

任何建议表示赞赏。

0 投票
2 回答
3051 浏览

ios - 使用 UIAlertAction 快速增加标签栏徽章?

我不知道为什么我不能只做 += "(x)"

错误:二元运算符“+=”不能应用于“字符串?”类型的操作数 和“字符串”

每次用户选择“是”时,我希望它增加 1。现在显然它只是保持在1。

0 投票
6 回答
27448 浏览

ios - 未按下按钮时如何调用按钮功能

我有一个连接到按钮的 IBAction,我想知道即使没有按下按钮,是否有任何方法可以运行该功能。这是我试过的...

注意:我在这个项目中使用 swift。

0 投票
0 回答
221 浏览

ios - iOS Swift SQLite 错误 SQLITE_CANTOPEN

我正在尝试在 iOS 的 SQLite 中保存一些数据,但无法打开数据库。

我收到以下错误。

14 无法打开数据库。

任何人都可以帮忙吗?

ps:我已将 myDB 文件夹添加到我的代码中,其中包含我从 sqlite manager firefox 插件创建的 db 文件

0 投票
2 回答
4857 浏览

ios - Swift 结构中的内存泄漏 - 如何解决这个问题?

我正在 Swift 2(Xcode 7 beta 3)中开发一个应用程序,并且我正在尝试尽可能使用值类型(结构和枚举)。根据 Apple 关于内存管理的文档,使用值类型不应导致任何保留周期,它应该可以正常工作。

但是今天我在事件处理代码中遇到了大量的内存泄漏。我对其进行了跟踪并将问题简化为以下最小示例。

假设有一个协议Item定义了一个属性value

然后我们创建一个具体的结构来实现Item协议并添加一个额外的属性additionalValue。让我们调用 struct FooItem

难题的第三部分是另一个结构,它包装了实现Item协议的项目。它被称为ItemWrapper

如果使用 Memory Leaks 配置在 Instruments 中进行分析,则每次ItemWrapper使用FooItem.

仪器截图1 仪器截图2

这是示例Xcode 项目Instruments 文件https ://www.dropbox.com/s/z6ugxzxqggrv1xl/SwiftStructsMemoryLeak.zip?dl=0

整个代码示例可以在这个 Gist 中查看:https ://gist.github.com/lukaskubanek/4e3f7657864103d79e3a

这是错误报告:rdar://21375421

它是 Swift 编译器中的错误还是我做错了什么?


编辑 1:正如评论中所建议的,我在Apple Dev Forum上重新发布了这个问题,以吸引 Swift 社区以及可能来自该语言开发人员的更多关注。由于 WWDC 2015 期间开发论坛的迁移,我不得不在新论坛上发布更新的问题。这是链接:https ://forums.developer.apple.com/message/9643


编辑 2:我最初在示例代码中发布的问题似乎在Swift 2.0中得到解决。由于它没有解决我的应用程序中的问题,我对示例代码进行了另一次修改。现在FooItem' 的附加属性具有泛型类型并FooItem使用类型注释,因此是泛型类型。这就是我在我的应用程序中使用它的方式,它仍然会导致内存泄漏,但这次ItemWrapper是在初始化时而不是在访问属性时。


编辑 3:将问题完全更新为在 Swift 2.0 中仍然存在的修改问题,并上传了新的示例 Xcode 项目。

0 投票
1 回答
11436 浏览

swift - Swift 2 - “if”中的模式匹配

最近我看到了 Apple 的 WWDC 2015 主题演讲。我还查看了一些文档,但我找不到“if 中的模式匹配”部分,它是如何写在他们展示的一张幻灯片上的。(来自Apple Events的 68 分钟 00 秒视频)

你知道这是指什么吗?还是语法?

0 投票
6 回答
164407 浏览

swift - Swift do-try-catch 语法

我尝试理解 swift 2 中的新错误处理。这是我所做的:我首先声明了一个错误枚举:

然后我声明了一个引发错误的方法(不是异常,这是一个错误。)。这是那个方法:

问题出在调用方。下面是调用这个方法的代码:

do在行编译器Errors thrown from here are not handled because the enclosing catch is not exhaustive说. 但在我看来,它是详尽无遗的,因为SandwichError枚举中只有两种情况。

对于常规的 switch 语句,swift 可以理解在处理每个案例时它是详尽的。

0 投票
2 回答
9880 浏览

swift - appDelegate 中的 Swift 2 迁移 saveContext()

我刚刚下载了新的 Xcode 7.0 beta 并从 Swift 1.2 迁移到了 Swift 2。迁移显然没有改变整个代码,实际上方法 saveContext() 很好,直到为该行抛出 2 个错误:

二元运算符 '&&' 不能应用于两个 Bool 操作数

call 可以抛出,但是没有标记 'try' 并且错误没有处理

该方法如下所示:

关于如何让它工作的任何想法?

0 投票
3 回答
15541 浏览

swift - Swift 2.0:“枚举”不可用:在序列上调用“枚举()”方法

刚下载了Xcode 7 Beta,enumerate关键字出现了这个错误。

谁能帮我克服这个问题?

此外,似乎count()不再适用于计算String.

在上面一行,编译器说:

'count' 不可用:访问集合上的 'count' 属性。

Apple 是否发布过任何 Swift 2.0 的编程指南?