→ uranusjr:Mac 不是從 class 讀入 nib, 是從 nib 讀入 class 06/10 12:02
→ uranusjr:你要拉一個 object 到 nib 裡設定它的 class 06/10 12:02
→ donkeychen:不太懂拉object到NIB的意思 06/10 14:17
→ donkeychen:在xib文件中有一个最重要的就是File's Owner,这个对象 06/10 14:19
→ donkeychen:指的就是Class属性中设定的那个类的对象。 06/10 14:19
→ donkeychen:我檢查了一下我有多個xib的target裡面的File's Owner 06/10 14:19
→ donkeychen:的確能夠透過File's Owner的custom class找到對應的Cla 06/10 14:20
→ donkeychen:ss 也就是 我可以從這邊找到a.xib 跟 a.mm(h) 之間的 06/10 14:22
→ donkeychen:關聯性 06/10 14:22
推太多不好寫
舉例來說
我有一個target 裡面有兩個xib
Add.xib
Del.xib
點選Add.xib 在Placeholders-> File's Owner
http://ppt.cc/jPXK
右邊點選第三個 (我不知道這叫什麼 圖裡面上面有一排可點的)
http://ppt.cc/Tze-
在Custom Class裡面
我可能找到這個Class 是 MYAdd這個class
接著去code裡面搜尋
可能有找到一個
MyAdd.h 有
@interface MYAdd
與 MyAdd.mm 有
@implementation MYAdd
也有 awakeFromNib
所以這樣我可以把Add.xib <-> MyAdd.h MyAdd.mm 關聯在一起
同樣的可能有Del.xib <-> MyDel.h MyDel.mm
而不是用檔名在那邊猜測
到這邊我可能幫自己解決了一半的問題
但是我自己實作一個新的Cocal Application
MainMenu.xib是程式自己產生出來的
其對應的Class卻是"NSApplication"
究竟會對應到哪個.h 與.mm我就無從得知了
如果我New一個User Interface 就會多一個xib
而這個新New出來的xib Files's Owner的class也是"NSApplication"
我剩下一半的問題就在於
如果一個target只有一個xib的情況下
從File's Owner裡面找到的是NSApplication
這邊要怎麼找到其對應的.h .mm檔呢
感謝
※ 編輯: donkeychen 來自: 211.72.248.50 (06/10 14:40)
推 nobody1:1.點選xib檔案 2.左側placeolder群組點選File's Owner 06/10 14:26
→ nobody1:3. 點選右側左數第三個頁籤custom class 06/10 14:27
→ nobody1:4. 第一個class是你要找的地方 下拉手key都可以 06/10 14:27
→ donkeychen:感謝nobody1大大 我有找到這個 如果是NSApplication就 06/10 14:43
→ donkeychen:不知道是怎麼看了 06/10 14:43
我這邊就用xcode new 一個cocal application
然後new 一個user interface
如下圖
http://ppt.cc/Hf4e
有一開始產生的MainMenu.xib 與後來加入的Add.xib
點選MainMenu.xib的Placeholders -> File's Owner
http://ppt.cc/ckhi
可以看到右方的custom class 裡面的class顯示為NSApplication
點選新增的MainMenu.xib的Placeholders->File's Owner
http://ppt.cc/HC2x
可以看到右方的custom class 裡面的class顯示為NSApplication
我找不到這兩個的差別
下午翻來翻去了以後發現
原始產生的MainMenu.xib
下方的Object有一個App delegate
http://ppt.cc/ohLm
藍色的cube(不太知道這是啥)
點選後 右方的custom class裡面的class為Appdelegate
這個是跟我新加的xib不一樣的地方
(add.xib只有font manager)
對這個Object欄位裡面出現的東西還沒有太有概念
※ 編輯: donkeychen 來自: 211.72.248.50 (06/10 17:28)