我一直在阅读关于Swift中的Optionals,并且我看到了一些例子, if let用来检查一个Optional是否包含一个值,并且是这样的话 – 用一个解包的值做一些事情。 不过,我已经看到,在Swift 2.0中,主要使用关键字guard 。 我想知道是否已经从Swift 2.0中删除了,还是可以使用。 我是否应该改变我的程序, if let来guard ?
我正在研究一个使用文本字段并将其转换为整数的应用程序。 以前我的代码 textField.text.toInt() 工作。 现在Swift宣称这是一个错误,并告诉我这样做 textField.text!.toInt() 它说没有toInt()并尝试使用Int() 。 那也行不通。 刚刚发生了什么?
如果我有一个方法,如: func someMethod(contextPtr: UnsafeMutablePointer<Void>) 如何从contextPtr获取对象? func someMethod(contextPtr: UnsafeMutablePointer<Void>){ let object:MyObject = contextPtr.memory } 得到: “虚空”不能转换为“MyObject” 秘诀是什么? 更多详情: 我在这里实际做的是为SCNetworkReachability设置一个全局callback函数: func callback(reachability:SCNetworkReachability, flags: SCNetworkReachabilityFlags, info: UnsafeMutablePointer<Void>) { let r:Reachability = info.memory } 然后添加callback,如下所示: var context = SCNetworkReachabilityContext(version: 0, info: nil, retain: nil, release: nil, copyDescription: nil) var s = self withUnsafeMutablePointer(&s) { context.info = UnsafeMutablePointer($0) } SCNetworkReachabilitySetCallback(reachability, […]
我正在尝试以这种方式注册我的本地通知应用程序: 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 Binary Operator "|" cannot be applied to two UIUserNotificationType operands 。 请帮帮我。
很多时候,你需要编写如下的代码: if someOptional != nil { // do something with the unwrapped someOptional eg someFunction(someOptional!) } 这似乎有点冗长,也听说用! powershell解包运营商可能是不安全的,最好避免。 有没有更好的方法来处理这个问题?
我目前正在使用Swift 2.0和Xcode Beta 2开发我的第一个iOS应用程序。它读取一个外部JSON,并在数据的表视图中生成一个列表。 但是,我得到一个奇怪的小错误,我似乎无法解决: Extra argument 'error' in call 这是我的代码片段: let task = session.dataTaskWithURL(url!, completionHandler: {data, response, error -> Void in print("Task completed") if(error != nil){ print(error!.localizedDescription) } var err: NSError? if let jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err) as? NSDictionary{ if(err != nil){ print("JSON Error \(err!.localizedDescription)") } if let results: NSArray = […]
我试图得到作为NSDate()的当前日期和来自PHP time();的日期之间的区别time(); 调用例如: NSDate(timeIntervalSinceReferenceDate: 1417147270) 。 我如何才能在这两个日期之间获得时间上的差异。 我想有一个函数比较两个日期, if(seconds > 60)那么它返回分钟, if(minutes > 60)返回小时, if(hours > 24)返回几天等等。 我应该怎么做呢? 编辑:目前接受的答案已经完成了我想要做的。 我推荐使用这个函数,以便以PHP time()函数使用的格式获取两个日期之间的time() 。 如果您对PHP不是特别熟悉的话,那么从1970年1月1日起,这个时间只需几秒钟。这对PHP中的后端是有利的。 如果你使用的是像NodeJS这样的后端,你可能需要考虑下面的其他一些选项。