看板 MacDev 關於我們 聯絡資訊
想請教一下 如何在自己新增的檔案中 叫別的檔案import這個新檔? 也就是我有一個A.h檔(或A.m檔) 在不改變A.h檔的前提下 於B.h檔中 叫A.h檔import B.h檔本身 這有辦法做到嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.77.52.127
Maiyo:如果a.h裡面有import c.h 那你可以改變c.h以達成目的 03/20 20:41
leondemon:不太懂您的意思 要如何實作呢? 03/20 20:53
electgpro:你可以做一個c.h先包a.h再包b.h 03/21 00:06
Blueshiva:老實說,既然都是自己的code,為何不直接在A.h中修改? 03/21 00:55
atst2:A.h檔import B.h,代表B.h中有東西會在A.h中用到不是嗎? 03/21 21:39
atst2:既然要用到,那必定會改變到A.h,再不然就是A.h之前有import 03/21 21:40
atst2:B.h才有意義。 03/21 21:41
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)
Blueshiva:兩個方式,一個是按功能切割,每類功能一個獨立的.h檔把 03/21 22:10
Blueshiva:相關的.h全部import進來,然後一個總和的.h檔把各個功能 03/21 22:10
Blueshiva:的.h檔import進來,這樣就只需要改一個檔案,管理上也還 03/21 22:11
Blueshiva:蠻方便的。另一個方式就是用類似configure的shellscript 03/21 22:12
Blueshiva:直接產生一個import目錄下所有.h檔的.h檔。 03/21 22:12
atst2:依原Po想做的事而言,只是改一個地方與改二個地方的差異 03/21 22:16
atst2:而非改一個地方與改十個地方的差異,是否有必要避免修改, 03/21 22:17
atst2:個人覺得似乎不是那麼重要.真要做的話,推Blueshiva兄的第一 03/21 22:18
atst2:種方法,簡單明快. 03/21 22:18
leondemon:我目前也是使用B大的第一種作法 XD 03/21 22:32
leondemon:不過想找看看是否有更好的方法~ 感謝以上的幫忙! 03/21 22:40