【发布时间】:2014-06-20 19:53:48
【问题描述】:
是否有用于检测是否有互联网连接的 Apple 框架包?目前,当我的应用程序在没有互联网连接的情况下尝试对用户的位置进行地理定位时,它会崩溃。
/*inside locationManager didUpdateLocations method*/
var currentLocation:CLLocation? = locations[0] as? CLLocation
geocoder = CLGeocoder()
//Crashes on line below when there isn't an internet connection
//Need to add function to check if internet connection is live
//Before running reverseGeocodeLocation
geocoder.reverseGeocodeLocation (currentLocation,handleGeocode)
我对 swift 和 ios 编程有点陌生 - 抱歉。
【问题讨论】:
-
由于 Swift 可以向 Objective-C 对象发送消息,因此其他问题的答案也适用于此处。如果您无法将该答案集成到您的项目中,请随时创建一个新问题寻求帮助。
-
Rob,我正在寻找一个快速的解决方案,而不是一个 Objective-c 的解决方案......在我看来,我希望我的所有代码都在 swift 而不是在 Objective-c 中,这样更容易以 1 种语言维护。我相信长期所有代码都必须“移植”到swift。我想我必须尽快重写 Reachability 类才能做到这一点?
-
也许你可以用 Swift 重写它。由于它建立在需要注册回调函数的 C 框架(SystemConfiguration)之上,因此它需要的不仅仅是 Swift 初学者的知识。
-
用 Swift 编写所有代码是个好主意,但是 Apple 为我们在这两种语言之间架起了一座桥梁,遇到了很多麻烦。 Swift 是专门为与 Objective-C 一起使用而创建的——不要逃避这一点。
-
@PHPDave cocoa touch api 是用 ObjC 编写的,很长一段时间都不会去任何地方。我喜欢 Swift,如果你学习 ObjC,你会做得更好