私はObjective Cアプリケーション内で使用している迅速なフレームワークを持っています。swift関数をobjcにのみ公開する方法
///Latitude in Decimal Degrees
public var lat : Double?
///Longitude in Decimal Degrees
public var lon : Double?
彼らはoptionalsであるため、Objective Cのにアクセスすることはできません:私は2つのparamsを持ってLocation
クラスを持っています。私はここで働いている迅速なクラスだけを保つことを望んでいますので、私の "回避策"は、クラスのメソッド@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)私はObjective Cアプリケーションに素早くファイルを書き込むことができたと思います。これは、クラスに拡張機能を追加する方法ですか?
3)別の方法がありますか?
を私が言いますその数は2番です。あなたは拡張プライベートをしようとしましたか? –