小编Ben*_*wry的帖子

SWIFT中的继续,休息,跌倒,投掷和退货有什么区别?

有人可以帮我解释一下Swift中这些关键字之间的区别吗?

  • continue
  • break
  • fallthrough
  • throw
  • return

swift

16
推荐指数
1
解决办法
5988
查看次数

iOS-应用程序在后台时如何检测网络变化

我正在开发一个 iOS 应用程序,即使应用程序关闭,我也想检测用户何时连接/断开 Wifi。我做了很多研究,但仍然没有找到解决这个问题的方法。

有人可以指出我如何做到这一点的大致方向吗?

xcode ios swift

5
推荐指数
1
解决办法
2424
查看次数

无法将“Any”类型的值快速转换为指定类型

我创建了一个如下所示的数组

var childControllers = NSArray()
childControllers = NSArray(objects: OBDPage1, OBDPage2, OBDPage3, OBDPage4)
self.loadScrollView(page: 0)// calling method
Run Code Online (Sandbox Code Playgroud)

现在我想使用如下所示的数组对象

func loadScrollView(page: Int){ // method
    if page >= childControllers.count {
        return
    }
    // replace the placeholder if necessary
    let controller: OBDPage1ViewController? = childControllers[page]
}
Run Code Online (Sandbox Code Playgroud)

但我遇到了以下错误

Swift-CarAssist/Swift-CarAssist/OBDCarMonitorDeatilViewController.swift:90:67:无法将类型“Any”的值转换为指定类型“OBDPage1ViewController”?

任何人都可以告诉我我哪里出了问题,因为我是斯威夫特的新手。

提前致谢。普里扬卡

arrays nsmutablearray swift

3
推荐指数
1
解决办法
7830
查看次数

Swift:添加方向按钮以固定注释

我有一个使用 MKMapView 显示公司位置的应用程序。当用户访问联系页面时,屏幕顶部会出现一张地图,其中有一根大头针落下,它会显示我们的位置。单击地图图钉时,它会在注释中显示公司名称。

我使用 back4app 将公司地址从存储在 Parse 后端的数据中拉入 MKMApView。

我的这一切都工作得很好,但是,当我单击地图图钉并显示公司名称时,我试图在其中添加一个汽车图标按钮,以便用户可以获得前往我们公司的路线。

这是我必须设置注释的代码:

func addPinOnMap(_ address: String) {
    var hotelClass = PFObject(className: HOTEL_CLASS_NAME)
    hotelClass = hotelArray[0]

    if mapView.annotations.count != 0 {
        annotation = mapView.annotations[0] 
        mapView.removeAnnotation(annotation)
    }

    // Make a search on the Map
    localSearchRequest = MKLocalSearchRequest()
    localSearchRequest.naturalLanguageQuery = address
    localSearch = MKLocalSearch(request: localSearchRequest)

    localSearch.start { (localSearchResponse, error) -> Void in

        // Add PointAnnonation text and a Pin to the Map
        self.pointAnnotation = MKPointAnnotation()
        self.pointAnnotation.title = "\(hotelClass[HOTEL_NAME]!)"
        self.pointAnnotation.coordinate = CLLocationCoordinate2D( latitude: localSearchResponse!.boundingRegion.center.latitude, longitude:localSearchResponse!.boundingRegion.center.longitude) …
Run Code Online (Sandbox Code Playgroud)

maps mkmapview mkannotation swift

2
推荐指数
1
解决办法
2982
查看次数

如何在不设置变量的情况下使计时器无效

我使用Timer类每x秒执行一些代码.当此代码中发生某些事情时,我想使计时器无效,从而停止"循环".

我通过执行以下操作设法完成此操作:

let timer = Timer.scheduledTimer(withTimeInterval: 5, repeats: true, block: { timer in

    //when something happens
    timer.invalidate()

})
Run Code Online (Sandbox Code Playgroud)

但是,我不在我的代码中的任何其他位置使用此计时器,因此Xcode向我发出警告:

永远不会使用不可变值'timer'的初始化; 考虑将赋值替换为'_'或删除它

显然,这并不能阻止我的应用程序运行,但我想摆脱警告.

我知道只是使用:

Timer.scheduledTimer(withTimeInterval: 5, repeats: true, block: { timer in
    //do stuff
})
Run Code Online (Sandbox Code Playgroud)

仍然会工作,但后来我不知道如何使计时器无效.只是invalidate()在封闭内部调用不起作用(我知道,但我还是试了很久).

通常,当Timer在SO上查看问题时,人们正在使用全局计时器变量,这使得它很容易失效.但是,我不想这样做,因为它没有必要,因为再次,我没有使用计时器对象一旦完成.

我环顾四周,认为这是一个相当普遍的问题,但我找不到任何有用的东西.谁能说明如何在不设置变量的情况下有效地使计时器失效?

timer nstimer swift

0
推荐指数
1
解决办法
449
查看次数

标签 统计

swift ×5

arrays ×1

ios ×1

maps ×1

mkannotation ×1

mkmapview ×1

nsmutablearray ×1

nstimer ×1

timer ×1

xcode ×1