2015-09-05 10 views
5

loadNibNamedNSBundleのクラスで動作することがわかります。いくつかの文書では、私は何かのようなものを見つける目的C:loadNibNamedメソッド:どのように動作するのですか?

[[NSBundle mainBundle] loadNibNamed:@"mynib" owner:self options:NULL]; 

返り値なし;メソッド内で呼び出されただけです(セルをカスタマイズしたい場合はcellForRowAtIndexPathなど)。私が見つけ、他の文書に:この場合

NSArray* vett=[[NSBundle mainBundle] loadNibNamed:@"mynib" owner:self options:NULL]; 

、例えば、cellForRowAtIndexPathでは、私は

return [vett lastObject]; 

またはこのような何かをできました。 後者の方法は明らかです。ベクトルにペン先をロードしてから、ベクトル要素を使用します。問題は正確に最初のことを理解することです:

[[NSBundle mainBundle] loadNibNamed:@"mynib" owner:self options:NULL]; 

戻り値なし、セル参照...私のペン先のオブジェクトはどこですか?彼らはどのように扱われますか?私それは例えば

+2

[APIのiOSドキュメント]よりも優れているとは言えません(https://developer.apple.com/library/ios/documentation/UIKit/Reference/NSBundle_UIKitAdditions/#//apple_ref/occ/instm)。/NSBundle/loadNibNamed:owner:options :)、[カスタムビューの割り当てに関するこのセクション](https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CocoaViewsGuide/SubclassingNSView /SubclassingNSView.html#//apple_ref/doc/uid/TP40002978-CH7-SW20) –

答えて

5

をどのように機能するかを理解していない、あなたが「のCustomView」@カスタムペン先とサブクラスのUIViewを持つ

あなたはそれをロードすることができます。

NSArray * arr =[[NSBundle mainBundle] loadNibNamed:@"CustomView" owner:self options:nil]; 
    CustomView * customView = [arr firstObject]; 
3

この方法は、以下の配列を返します。ペン先のオブジェクト。たとえば、カスタムビューをインスタンス化する場合は、戻り値を説明する方法で使用します。

NSArray * arr =[[NSBundle mainBundle] loadNibNamed:@"CustomView" owner:nil options:nil]; 
CustomView * customView = [arr firstObject]; 

あなたは(あなたがこのメソッドに所有者に渡すことができることに注意してください)ファイルの所有者を設定するには、XIBを使用したいが、あなたが返される配列に興味がない場合があります。例えば。 xibがファイルの所有者のIBActionsとIBOutletsをxibの要素に接続する場合

[[NSBundle mainBundle] loadNibNamed:@"mynib" owner:self options:nil]; 

また、両方のアプローチを組み合わせることもできます。

関連する問題