私は2つのフレームワークプロジェクト(AとB)を持っており、どちらのフレームワークにもUIViewController Extensionがあります。スウィフト - 異なるメソッド名を持つ複数の拡張機能ですが、まだ動作しません。
- フレームワークBでの私の拡張子は、フレームワークでは、この方法「loadFromNib」
- を持っている「B」私は、フレームワークでは、「loadFromNib」
- にアクセスするクラス「B」私も「」
- フレームワークを参照してくださいを持っています今、私はUIViewController拡張機能をFramework "A"に追加しましたが、 "loadViewFromNib"という名前を付けました。
私の既存のクラスでは、loadFromNibが使用できないというエラーがスローされ、loadViewFromNibメソッドにアクセスするように提案しています。私がここで紛失しているのは何ですか?私のクラスは、右の拡張
//Code from Framework B
extension UIViewController
{
public class func loadFromNib() -> Self?
{
return loadNibFilePrivateMethod()
}
....
}
//Code from Framework A
extension UIViewController
{
public class func loadViewFromNib() -> Self?
{
return loadNibFilePrivateMethod()
}
....
}
に言及されていないのはなぜ私が(他のチームが所有している)、複数の他のフレームワークからフレームワークAに共通のコードをマージする過程で午前任意の他のフレームワークには何も変更することはできません。だから、私のコードは何も破壊することなく共存したい。
'現在、私の既存のクラスはloadFromNibが利用できないというエラーをスローします.'フレームワークBのクラスはありますか? –
コードを表示してください。フレームワークAでの 'loadFromNib'の定義。 – JeremyP
@JeremyPはポストをいくつかのコードで更新しました。 – Tamil