2012-02-09 20 views
-1

私はここにメソッドシグネチャがあります。なぜこのメソッドを呼び出せないのですか?

.h 

-(void)addToArray 

をそして、私はここでそれを使用したい:

.m 

-(void)viewDidLoad{ 
NSMutableArray *array = [[NSMutableArray alloc]init]; 
[array addToArray]; 
} 

-(void)addToArray{ 
//some code here… 
} 

問題は、私は[配列addToArray]を行うときということです。それは がどのように私はそれを解決することができます「( 『ID』への戻り値の型のデフォルト)が見つかりません 『-addToArray』インスタンスメソッド」私に言うメッセージを返しますか?あなたメートルファイルで

+6

まあ、もちろん、 'addToArray'はNSMutableArray''の方法ではありません。 –

答えて

3

..itは、それがカテゴリではありません(つまり、NSMutableArrayクラスである。

あなたがあなた自身のclass.and方法を持っているときに配列データ型クラスのメソッドを探します。あなたはそれがあなたがメソッドを呼び出すされているクラスになりますこのよう

[self somemethod] 

を呼び出す必要があります..thenへ

+0

OK。コードはOKです。あなたはどのようなことを知っていない場合は、ブレークポイントを使用してEXC_BAD_ACCESS「」 – user1200160

+0

デバッグ、コード,, ..:「プログラムが信号をrecivedスレッド1:」私はそれが私のアプリとリターンを停止Xcodeの実行時にしかし、それは、うまく動作しません。あなたはいくつかのYouTubeのチュートリアルをチェックしています..デバッグはあなたの将来の多くに役立ちます。クラッシュする行が表示された後、あなたの質問へのアップデートとしてその行を投稿してください。 – Shubhank

+0

Shubhankさん、ありがとうございます。今私は時間がありませんが、明日私はします。私はいくつかのビデオを見て、デバッグについて何かを読んでするつもりだ、と私はそれをここに掲載します。ありがとうございました。 – user1200160

-1

、これをやってみます。#import「何でもそのcalled.h」あなたはまだいない場合。より多くのコードを提供すればもっと助けてもらえますが、これが役立つことを願っています。あなたが[array somemethod]を行う際

3

変更:

の.h

-(void)addObjectsToArray:(NSMutableArray*)a; 

.M

- (void)viewDidLoad { 
    NSMutableArray * array = [[NSMutableArray alloc]init]; 
    [self addObjectsToArray:array]; 
} 
- (void)addObjectsToArray:(NSMutableArray*)a { 
    //some code here… 
    [a addObject:[NSString stringWithFormat:@"Example String Object"]]; // example way to add objects to the array 
} 
3

Shubhankの答えは、あなたが最初に説明したい何を達成したい場合はしかし、それが持っている、確かに正しいですNSMutableArrayのインスタンスが応答していあなたの方法は、あなたがカテゴリの使用を通じて達成することができます。 https://developer.apple.com/library/ios/#documentation/cocoa/conceptual/objectivec/chapters/occategories.html

たNSArrayおよび/またはNSMutableArrayのにカテゴリを追加し、このブログの詳細。 http://it.toolbox.com/blogs/macsploitation/extending-classes-in-objectivec-with-categories-27447

関連する問題