2012-04-22 8 views
0

人々が聞いているようです:このビューはnibから構築されていますか? nibがコンパイルされたフォームであり、xibはXML形式であり、これ以上nibは使用しませんが、xibだけを使用するのは本当ですか?だから今日は、それは単に「xibから作られたの?」という意味ですか?iOSプログラミングの場合、人々が「ペン先から作られたもの」と言うとき、それは「xib」を意味するのは本当ですか?

+3

私が心配する限り、彼らは同じことです。 – CodaFi

答えて

2

iOS開発では実際に.nibファイルが使用されていません。いつも.xibsだった。 NIBはもともとはNeXT Interface Builderの頭字語でした。 iPhone開発ではもともとInterface Builderというツールを使って.xib形式で保存されたユーザーインターフェイスを作成していました。 Interface Builderは最近XCode 4にマージされていますので、そこで.xibファイルをビルドすることができます。

はい、.xib形式は人間が読めるXML形式です。バージョンコントロールシステム(diffingなど)では.nibsより使いやすくなります。

従来の目的のために、2つのフォーマットが同じように発音されると思います。「nib」おそらく "x"で始まる単語は発音が難しいからです:)

+1

いいえ、iPhoneには***常に***のnibファイルがあります。 OPが述べたように、ペン先はXIBファイルをコンパイル(またはフラット化)します。 – CodaFi

+0

あなたはコンパイラによって投稿された質問に答えていません。おそらく開発者である人間が投稿した質問に答えるでしょう。開発者は、iPhone用のnibファイルを実際に見通すことはできません。これは唯一の.xibファイルであり、世界でこれがポスターが求めていることを期待する理由はすべてあります。誰かがiOSの「ペン先から作成」されたビューについて語るとき、それはもともと.xibファイルにレイアウトされたユーザーインターフェイス文書からインスタンス化されたことを意味します。 – Nate

+0

そして、私は単にiOS ***を「決して」XIBファイルがあると主張することは絶対に間違っていると言っています。 – CodaFi

2

@ネイトの答えには全く同意できません。 IOSは実際にはであり、常にのnibファイルを持っています。コンパイラがXIBファイルをフラットにしてアプリケーションで取り出せるようになると、実際には.nibファイルに変換されます。あなたが私を信じていないなら、これを試してください:

NSLog(@"%@", [[NSBundle mainBundle]pathForResource:@"myxib" ofType:@"xib"]); 

それは存在しないので、NULLを返します!今すぐ試してみてください:

NSLog(@"%@", [[NSBundle mainBundle]pathForResource:@"myxib" ofType:@"nib"]); 

かなりクールですね?

このようにねじれた形で、XIBは本当にペン先であると言うのが正しいです。

+0

+1、正解答え – tipycalFlow

+0

これはむしろうまくいかない例であり、ポスターの質問に記載されている文脈を逸しています。誰も実際のプログラムでそのコードを使用することはありません。ごくまれに、プログラムでnib/xibにアクセスすると、 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil ...拡張子はすべて.xibまたは.nibです。 – Nate

+0

ああ。私はXIBの編集を可能にするアプリケーションを開発しています(それが私が答えた唯一の理由です)。それはあなたが思うほどまれではなく、全体的な質問自体を覆しています。概念的には、それらは同等です。 – CodaFi

関連する問題