我有一個快速框架,我在Objective C應用程序中使用它。我有一個Location
類有兩個參數:如何將swift函數僅暴露給objc
///Latitude in Decimal Degrees
public var lat : Double?
///Longitude in Decimal Degrees
public var lon : Double?
,因爲他們是自選這是不是Objective C的訪問。我希望保持一個快速的班級在這裏工作,所以我的「解決方法」是爲班級添加一些@objc
方法 - 但我不希望他們快速訪問。
///Objective C Extensions to allow easier Access
extension LocationMessage {
@objc var getLat : Double {
if (lat != nil) {
return lat!
}
return -91;
}
@objc var getLon : Double {
if (lon != nil) {
return lon!;
}
return -181;
}
}
因此,這裏的問題:
1)我可以把這個延伸到框架中,但有一些方法來「隱藏」從能夠調用它迅速?
2)我想我可以寫一個swift文件到我的Objective C應用程序中 - 將擴展添加到類中 - 這是否應該走?
3)有沒有另一種方法?
,我會說這個數字2是要走的路。你有沒有嘗試讓擴展私人? –