最近我切換到一個主要用objective-c撰寫的專案,我對它很陌生,但是在一個檔案中我驚訝地發現只有一個.m檔案并且像往常一樣缺少.h檔案。但是代碼仍然可以正常作業。我的問題是 .h 檔案不是強制性的嗎?它們可以合并到一個 .m 檔案中嗎?我找到了一個 .m 檔案的示例代碼片段。
代碼片段是:
#import "CusView.h"
@interface MyFile: ViewController {
}
@property (nonatomic, retain) NSString *someProp;
-(void) fillTheText : (NSString*)text;
@end
@implementation MyFile
-(void) fillTheText : (NSString*)text {
NSLog(@"Print here")
}
@end
uj5u.com熱心網友回復:
從根本上說,C 或 Objective-C 中代碼的位置并沒有什么神奇之處。你可以把@interfacein the.m或 the @implementationin the .h。您可以將多個@implementations用于同一個類的檔案分布在多個檔案中,或者單獨編譯它們(類擴展),或者甚至編譯#import它們。
當然,僅僅因為你可以并不意味著你應該。這只是為了指出編譯器實際上并不關心代碼的來源,它只關心正在編譯的任何內容的實際內容。
uj5u.com熱心網友回復:
從技術上講,可以將所有內容包含到您的 m 檔案中。另見此處和下面的第 3 項。
關于你的具體例子:
您是否在專案中搜索了 h 檔案?它可能會放在其他檔案夾中。
您是否檢查過是否
MyFile在代碼中的任何地方使用過?它可能只是未使用且未在任何地方匯入。您是否檢查了如何
MyFile在使用它的地方匯入?它可能只是與 m 檔案一起匯入的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/440565.html
上一篇:Centos8安裝docker報錯(錯誤提示:All mirrors were tried)
下一篇:https://localhost/***/api/get**.php?TOKEN=???:0未知錯誤的Http失敗回應
