作者leondemon (狗狗)
看板MacDev
標題[問題] 如何叫別的檔案import自己?
時間Sat Mar 20 20:21:48 2010
想請教一下
如何在自己新增的檔案中 叫別的檔案import這個新檔?
也就是我有一個A.h檔(或A.m檔) 在不改變A.h檔的前提下
於B.h檔中 叫A.h檔import B.h檔本身
這有辦法做到嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.77.52.127
1F:推 Maiyo:如果a.h裡面有import c.h 那你可以改變c.h以達成目的 03/20 20:41
2F:→ leondemon:不太懂您的意思 要如何實作呢? 03/20 20:53
3F:→ electgpro:你可以做一個c.h先包a.h再包b.h 03/21 00:06
4F:推 Blueshiva:老實說,既然都是自己的code,為何不直接在A.h中修改? 03/21 00:55
5F:→ atst2:A.h檔import B.h,代表B.h中有東西會在A.h中用到不是嗎? 03/21 21:39
6F:→ atst2:既然要用到,那必定會改變到A.h,再不然就是A.h之前有import 03/21 21:40
7F:→ atst2:B.h才有意義。 03/21 21:41
8F:→ atst2:原po要不要說明一下,為什麼A.h必需要import B.h? 03/21 21:42
因為想跟UIKit.h一樣 只要import它就能import整個framework...
不過UIKit.h裡面的import清單 似乎都是一個一個key進去的
如果今天我在framework中新增或刪除一個檔案 就勢必還得去主要的import檔修改清單
在Python底下 我記得可以import一個folder的來源
於是只要在該folder底下新增檔案 都會被自動import
我只是想把修改的清單的職責 搬到新增的檔案內 就可避免修改多個地方的撰碼方式...
也就是希望能在新增的檔案開頭 去叫A.h檔import這個新增檔案本身
而不用修改A.h檔 即可用它來import整個完整的framework...
不過現在狀況似乎是C所衍生的語言 都沒辦法做到的樣子.... Orz
※ 編輯: leondemon 來自: 203.77.52.127 (03/21 21:49)
9F:推 Blueshiva:兩個方式,一個是按功能切割,每類功能一個獨立的.h檔把 03/21 22:10
10F:→ Blueshiva:相關的.h全部import進來,然後一個總和的.h檔把各個功能 03/21 22:10
11F:→ Blueshiva:的.h檔import進來,這樣就只需要改一個檔案,管理上也還 03/21 22:11
12F:→ Blueshiva:蠻方便的。另一個方式就是用類似configure的shellscript 03/21 22:12
13F:→ Blueshiva:直接產生一個import目錄下所有.h檔的.h檔。 03/21 22:12
14F:→ atst2:依原Po想做的事而言,只是改一個地方與改二個地方的差異 03/21 22:16
15F:→ atst2:而非改一個地方與改十個地方的差異,是否有必要避免修改, 03/21 22:17
16F:→ atst2:個人覺得似乎不是那麼重要.真要做的話,推Blueshiva兄的第一 03/21 22:18
17F:→ atst2:種方法,簡單明快. 03/21 22:18
18F:→ leondemon:我目前也是使用B大的第一種作法 XD 03/21 22:32
19F:→ leondemon:不過想找看看是否有更好的方法~ 感謝以上的幫忙! 03/21 22:40