只是用這個來聲明類的公共接口的一部分-InitPlayer
:
@interface ViewController : UIViewController
{
@private
UIImageView * player;
}
- (void)InitPlayer;
@end
然後你把你的-InitPlayer
實施ViewController.m,它必須駐留。您不能將方法的實現放在@interface
塊中。
如果您來自其他語言,那麼您應該知道objc中的分派是動態的 - 在頭中放置定義(如果可能的話)不會導致內聯/優化。
在迴應澄清的問題:
好吧,那麼就這樣做:
Player.h
@interface Player : NSObject
- (void)prepareUIImageView:(UIImageView *)pImageView; // << could actually be a class method in this case
@end
Player.m
@implementation Player
- (void)prepareUIImageView:(UIImageView *)pImageView
{
pImageView.tag = 0;
}
@end
那麼你可以告訴玩家從0123初始化視圖,假設它本身沒有控制器。
(注:objc方法名通常以小寫字符開始爲好,它通常是隱藏這個初始化的東西是一個好主意,從你的客戶。)
是不是已經聲明在.h文件? – 2012-08-31 22:09:20
當我嘗試在第二個文件中使用時,出現錯誤消息「使用未聲明的標識符」。 – user1434087