Questions tagged «swift2»

仅在与Apple的Swift编程语言2.x版本中的更改直接相关的问题时使用此标记。使用标签[swift]来解决更常见的语言问题,或使用标签[ios],[cocoa],[apple-watch]等来解决有关在Apple平台上开发的问题。

13
斯威夫特的后卫关键字
Swift 2引入了guard关键字,该关键字可用于确保已准备好配置各种数据。我在此网站上看到的示例演示了一个commitTapped函数: func submitTapped() { guard username.text.characters.count > 0 else { return } print("All good") } 我想知道使用条件guard是否与使用老式方法使用if条件有所不同。它会带来好处吗?使用简单的支票无法获得这些好处?


4
Swift 2.0-二进制运算符“ |” 不能应用于两个UIUserNotificationType操作数
我正在尝试通过以下方式为本地通知注册我的应用程序: UIApplication.sharedApplication().registerUserNotificationSettings(UIUserNotificationSettings(forTypes: UIUserNotificationType.Alert | UIUserNotificationType.Badge, categories: nil)) 在Xcode 7和Swift 2.0中,出现错误Binary Operator "|" cannot be applied to two UIUserNotificationType operands。请帮我。
193 ios  swift  swift2 


6
Swift do-try-catch语法
我尝试理解Swift 2中的新错误处理方法。这是我做的:我首先声明了一个错误枚举: enum SandwichError: ErrorType { case NotMe case DoItYourself } 然后我声明了一个引发错误的方法(伙计们不是异常。这是一个错误。)。这是该方法: func makeMeSandwich(names: [String: String]) throws -> String { guard let sandwich = names["sandwich"] else { throw SandwichError.NotMe } return sandwich } 问题出在呼叫方。这是调用此方法的代码: let kitchen = ["sandwich": "ready", "breakfeast": "not ready"] do { let sandwich = try makeMeSandwich(kitchen) print("i …
162 swift  swift2 


11
Xcode 7.3已弃用“ ++”和“-”运算符
我正在查看Xcode 7.3注释,并且注意到了这个问题。 ++和-运算符已被弃用 有人可以解释为什么不推荐使用它吗?我说对了,现在在新版本的Xcode中,您将使用它代替++它x += 1; 例: for var index = 0; index < 3; index += 1 { print("index is \(index)") }

9
在Swift 2中使用自定义消息引发错误/异常的最简单方法是?
我想在Swift 2中做一些我曾经用其他多种语言做过的事情:使用自定义消息抛出运行​​时异常。例如(在Java中): throw new RuntimeException("A custom message here") 我知道我可以抛出符合ErrorType协议的枚举类型,但我不想为我抛出的每种错误类型定义枚举。理想情况下,我希望能够尽可能地模仿以上示例。我研究过创建一个实现ErrorType协议的自定义类,但是我什至无法弄清楚该协议需要什么(请参阅文档)。有想法吗?
136 ios  swift  swift2 

12
快速从字符串中获取整数值
所以我可以这样做: var stringNumb: NSString = "1357" var someNumb: CInt = stringNumb.intValue 但是我找不到办法String。我想做类似的事情: var stringNumb: String = "1357" var someNumb: Int = Int(stringNumb) 这也不起作用: var someNumbAlt: Int = myString.integerValue
134 swift  swift2 

5
Swift扩展中的重写方法
我倾向于只将必需品(存储的属性,初始化器)放入我的类定义中,然后将其他所有内容移动到它们自己的extension类中,就像extension每个逻辑块一样,将其分组// MARK:。 例如,对于一个UIView子类,我将获得一个与布局相关的东西的扩展,一个用于订阅和处理事件的扩展,等等。在这些扩展中,我不可避免地必须重写一些UIKit方法,例如layoutSubviews。直到今天,我从未注意到这种方法有任何问题。 以此类的类层次结构为例: public class C: NSObject { public func method() { print("C") } } public class B: C { } extension B { override public func method() { print("B") } } public class A: B { } extension A { override public func method() { print("A") } } …

11
stringByAppendingPathComponent不可用
我的应用程序在Instagram上共享照片,为此,首先将其保存在一个临时目录中: let writePath = NSTemporaryDirectory().stringByAppendingPathComponent("instagram.igo") 它正在工作Swift 1.2,但不起作用Swift 2.0。 给定的错误消息是: stringByAppendingPathComponent不可用:在NSURL上使用URLByAppendingPathComponent。
132 ios  swift  swift2 

8
斯威夫特:守卫让vs如果让
我一直在阅读有关Swift中的Optionals的信息,并且看到了一些示例,这些示例if let用于检查Optional是否持有值,并且在有情况的情况下–使用未包装的值进行操作。 但是,我已经看到在Swift 2.0中,该关键字guard let被广泛使用。我想知道是否if let已从Swift 2.0中删除或是否仍然可以使用它。 我应该改变我的计划包含if let到guard let?

4
快速打印而无需换行
在Swift 2.0中,会print()自动添加换行符。在迅速1.2,println()和print()以前是独立的功能。因此,我如何打印一些文本而不在其中添加换行符,因为swift不再具有不添加换行符的打印功能。
109 swift  swift3  swift2 

5
协议只能用作一般约束,因为它具有Self或relatedType要求
我有一个协议RequestType,它具有如下的relatedType模型。 public protocol RequestType: class { associatedtype Model var path: String { get set } } public extension RequestType { public func executeRequest(completionHandler: Result<Model, NSError> -> Void) { request.response(rootKeyPath: rootKeyPath) { [weak self] (response: Response<Model, NSError>) -> Void in completionHandler(response.result) guard let weakSelf = self else { return } if …

4
如何迅速使警告静音
我有一段代码会生成很多警告(不推荐使用的API) 使用clang *我可以做 #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wdeprecated-declarations" ... #pragma clang diagnostic pop 但是,这并不迅速。 如何快速进行? 注意:我不想全局禁用警告,甚至不想禁用整个文件,而只是在源代码的特定部分禁用特定警告。 编辑:我似乎我的笔记不够清楚:我不希望条件编译(这是假定重复的建议答案)。我只想在不使用新API的情况下使警告静音。
98 swift  pragma  swift2 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.