问题标签 [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.
ios - 我什么时候应该将可选值与 nil 进行比较?
很多时候,您需要编写如下代码:
这似乎有点冗长,而且我听说使用!
force unwrap 运算符可能是不安全的,最好避免。有没有更好的方法来处理这个?
swift - 为 UITabBarItem 快速设置徽章值
我正在尝试添加一个徽章警报标签,如所附屏幕截图中的标签。
我试图搜索标题、标签 uitabbar 项目,但我被卡住了。
任何建议表示赞赏。
ios - 使用 UIAlertAction 快速增加标签栏徽章?
我不知道为什么我不能只做 += "(x)"
错误:二元运算符“+=”不能应用于“字符串?”类型的操作数 和“字符串”
每次用户选择“是”时,我希望它增加 1。现在显然它只是保持在1。
ios - 未按下按钮时如何调用按钮功能
我有一个连接到按钮的 IBAction,我想知道即使没有按下按钮,是否有任何方法可以运行该功能。这是我试过的...
注意:我在这个项目中使用 swift。
ios - iOS Swift SQLite 错误 SQLITE_CANTOPEN
我正在尝试在 iOS 的 SQLite 中保存一些数据,但无法打开数据库。
我收到以下错误。
14 无法打开数据库。
任何人都可以帮忙吗?
ps:我已将 myDB 文件夹添加到我的代码中,其中包含我从 sqlite manager firefox 插件创建的 db 文件
ios - Swift 结构中的内存泄漏 - 如何解决这个问题?
我正在 Swift 2(Xcode 7 beta 3)中开发一个应用程序,并且我正在尝试尽可能使用值类型(结构和枚举)。根据 Apple 关于内存管理的文档,使用值类型不应导致任何保留周期,它应该可以正常工作。
但是今天我在事件处理代码中遇到了大量的内存泄漏。我对其进行了跟踪并将问题简化为以下最小示例。
假设有一个协议Item
定义了一个属性value
:
然后我们创建一个具体的结构来实现Item
协议并添加一个额外的属性additionalValue
。让我们调用 struct FooItem
。
难题的第三部分是另一个结构,它包装了实现Item
协议的项目。它被称为ItemWrapper
。
如果使用 Memory Leaks 配置在 Instruments 中进行分析,则每次ItemWrapper
使用FooItem
.
这是示例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 项目。
swift - Swift 2 - “if”中的模式匹配
最近我看到了 Apple 的 WWDC 2015 主题演讲。我还查看了一些文档,但我找不到“if 中的模式匹配”部分,它是如何写在他们展示的一张幻灯片上的。(来自Apple Events的 68 分钟 00 秒视频)
你知道这是指什么吗?还是语法?
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 可以理解在处理每个案例时它是详尽的。
swift - appDelegate 中的 Swift 2 迁移 saveContext()
我刚刚下载了新的 Xcode 7.0 beta 并从 Swift 1.2 迁移到了 Swift 2。迁移显然没有改变整个代码,实际上方法 saveContext() 很好,直到为该行抛出 2 个错误:
二元运算符 '&&' 不能应用于两个 Bool 操作数
和
call 可以抛出,但是没有标记 'try' 并且错误没有处理
该方法如下所示:
关于如何让它工作的任何想法?
swift - Swift 2.0:“枚举”不可用:在序列上调用“枚举()”方法
刚下载了Xcode 7 Beta,enumerate
关键字出现了这个错误。
谁能帮我克服这个问题?
此外,似乎count()
不再适用于计算String
.
在上面一行,编译器说:
'count' 不可用:访问集合上的 'count' 属性。
Apple 是否发布过任何 Swift 2.0 的编程指南?