2016-08-24 2 views
0

カテゴリファイルにいくつかのメソッドを作成しました。私はちょうど私のビューコントローラでそれらのメソッドを再利用したいです。だから私はそのカテゴリファイルをビューコントローラにインポートし、ヘッダファイルにもメソッドを宣言しました。 このようにそれを呼び出す:Xcode - 警告 "メソッド定義が見つかりません"。カテゴリファイルからの呼び出し方法

Categoryクラス:

@interface UIViewController (headerView) 
-(UILabel *)someMethod; 

@implementation UIViewController (headerView) 
-(UILabel *)someMethod{ 
} 

HomeViewController:

@interface HomeViewController : UIViewController 
-(UILabel *)someMethod; 

@implementation HomeViewController 
[self someMethod]; 

この行に警告メッセージを取得してはIAM:

@implementation HomeViewController 

その作業。しかし、私はこの警告をクリアしたい。どうしたらいいですか?

+0

あなたが再利用「とはどういう意味ですかような何かを私のビューコントローラのそれらのメソッド "?カテゴリは既存のクラスにメソッドを追加します。メソッドを呼び出す際の唯一の問題は、その定義を不明瞭にすることです。あなたが一歩を逃したように聞こえる。おそらくカテゴリインターフェイスを投稿し、どのようにインポートするのかを示します。 – Avi

+0

あなたはどんな警告メッセージを受け取っていますか? – vaibhav

+0

カテゴリをどのように作成するのか、どのように 'viewcontroller'でそれをインポートするのかをすべてのコードで示してください! – Lion

答えて

1

したい場合は、ビューコントローラ内のカテゴリはそれをその

あなたのカテゴリ

@interface UIViewController (ExtendedMethods) 
- (void)someMethod; 
@end 

@implementation UIViewController (ExtendedMethods) 
- (void)someMethod { 
    NSLog(@"Some method"); 
} 
@end 

MyViewController.m

#import "MyViewController.h" 
#import "UIViewController+ExtendedMethods.h" 

@implementation MyViewController 
- (void)viewDidLoad { 
    [super viewDidLoad]; 
    [self someMethod]; 
} 
@end 
+0

はい。まさに私はこれを好きでした。しかし警告メッセージを得る。それをクリアするには? – Balasubramanian

+0

この行について警告を受けていますか?実装MyViewController – Balasubramanian

+0

いいえ、私は警告がありません。カテゴリヘッダーファイルにsomeMethodがありますか?多分あなたはそれを間違って綴っていますか? – Konstantin

関連する問題