2011-09-17 6 views
4

私は別の方法で呼び出す必要がある方法があります。 UIViewControllerIOSメソッド呼び出し

//This is how i call methoed 
tmpUITextView.text= [self ssidValue:1 arrayOf:ssidArray]; 


//my Method 
+ (NSString *)ssidValue:(NSInteger)selectedValue arrayOf:(NSMutableArray *)tmpArray { 

    NSString *result=[tmpArray objectAtIndex:selectedValue]; 
    NSLog(@"%@",result); 
    return result; 
} 

が、私は取得していますワーリングで、それをクラッシュ(警告: ':arrayOf -ssidValue' 'のUIViewControllerは' に応答しない場合があります)。

ここで間違っていることを教えてください。アドバンス

おかげ

答えて

17

あなたはクラスメソッドとしてメソッドを宣言している(「+」に注意してください)しかし、あなたはインスタンスメソッドとしてそれを呼んでいます。いずれか、これを解決するインスタンスメソッドとして宣言(「 - 」と「+」を置き換え)する

またはクラスメソッドとしてそれを呼び出す:。

[[self class] ssidValue:1 arrayOf:ssidArray]; 
0

は、インスタンスメソッドの型宣言すなわちを使用し、。メソッド宣言 ための代わりに「+」の、あなたが方法はあなたのようにメソッドを宣言している

0

を初期化Wherethe

tmpUITextView.text= [class_Name ssidValue:1 arrayOf:ssidArray]; 

CLASS_NAMEは、クラスの名前であるクラス名を使用して、それを呼び出すことができます - 使用「」 ( "+"に注意してください)、それをインスタンスメソッドとして呼び出しています。

これを解決するため、いずれかのインスタンス・メソッドとして宣言(「+」に置き換え、「 - 」)へのまたはクラスメソッドとしてそれを呼び出す:

[[self class] ssidValue:1 arrayOf:ssidArray]; 
関連する問題