2017-04-21 11 views
0

私は1つのフレームワークを構築しています。私はUIViewcontrollerからIBOutelsリストをコードで取得する必要があります。私はInterfaceOutletsReadableプロトコルを書いています。フレームワークユーザがこのプロトコルに準拠している場合は、ViewControllerからIBOutletsのリストを読み込む必要があります。UIVIewControllerのIBOutletリストをプログラムで取得する方法

protocol InterfaceOutletsReadable { 
    ///Read the outlets objects 
    func readOutlets() 
} 
extension InterfaceOutletsReadable { 
    //TODO:- Stuck at this stage. Here I have to read the viewcontroller IBOutlets 
} 
class HomeViewController: InterfaceOutletsReadable { 
    @IBOutlet weak var userNameTextField: UITextField! 
    @IBOutlet weak var passwordTextField: UITextField! 
    @IBOutlet weak var errorLabel: UILabel! 
} 

編集:私はIBOutlet Collectionからリストを取得する必要はありません。すべてのアウトレットをプログラムで取得する方法はありますか?

+0

問題は何ですか? –

+0

@dahiya_boyフレームワークプロジェクトです。 ViewControllerからアウトレットのリストを取得する必要があります。 IBOutletコレクションではありません。その方法は? –

答えて

1

あなたはtextFieldIBOutletCollectionを受け取り、他のすべてに接続することができます。アウトレットの配列を維持し、インデックスを介してアクセスできます。

0

@IBOutletsは、設計時にのみ存在し、コンパイル時にも存在しません。それで、あなたが望む方法ですべてのアウトレットを手に入れることは不可能です。アウトレットは他の変数と差異がありません。

HomeViewControllerreturn ArrayreadOutlets()を実装するアウトレットのリストが必要な場合は、必要な変数で構成します。

関連する問題