实例化对象子类时,Swift函数退出

时间:2016-08-09 20:15:29

标签: ios swift google-maps

我有一个非常简单的GMSMarker子类,在其中我添加了一些属性来使点标记更容易识别。在我的子类中,我有以下内容:

import UIKit

class PointMarker: GMSMarker {
    var layerID:String?
    var featureID:String?
}

在一个使用子类的类中,我有一个呈现地图特征的函数。

func addRemoveMapPoint(featureDict:Dictionary<String, AnyObject>, visible:Bool){

    if let properties = featureDict["properties"] as? Dictionary<String, AnyObject> {
        let marker:PointMarker = PointMarker()
        print(properties)

        // Code to render on the map ...
    }
}

此函数可以直接从对象实例调用,也可以从NSNotification调用。我遇到的奇怪行为是,当直接从代码(而不是通知)调用时,所有工作都按预期工作。但是,从NSNotification调用时,该函数将在创建PointMarker实例的行上退出。

    let marker:PointMarker = PointMarker()

当代码到达此行时,该函数只退出,不再执行代码。它表现得好像有一个break或return语句。我没有收到任何错误,应用程序也没有崩溃。我已验证传入参数featureDict无论是从对象调用还是从通知调用。

有人可以解释为什么会这样吗?谢谢!

0 个答案:

没有答案