2012-04-30 7 views
0

私のsoap Webサービスにアクセスするためにsudzc.com生成コードの周りにアプリケーションを構築しました。 SOAPリクエストと処理は、私のUITableViewControllerサブクラスに配置されています。sudzc.comの石鹸の結果を処理するときにセレクタの例外が認識されない

これは、関連するコードです:キャッチされない例外により 'NSInvalidArgumentException'、理由にアプリを終了

*::私は5行で次の例外を取得しています

1 - (void)viewDidLoad { 
2 [...] 
3 NSLog(@"Starting Soap Request"); 
4 CCExample_ManagerService* soapService = [[CCExample_ManagerService alloc] init]; 
5 [soapService getActiveVehicles:self action:@selector(getActiveVehiclesHandler:)]; 
6 } 
7 
8 - (void) getActiveVehiclesHandler: (id) value { 
9 [...] 
10 } 

" - [__ NSArrayI addObject:]:インスタンスに送信された認識できないセレクタ0x112730 '

セレクタメソッドが同じクラスにあり、目に見えるので、私は本当に必死です。まったく同じコードは別のプロジェクトでも完全に動作しています。そのため、この特定のケースで実行されるのを防ぐのは不明です。

+0

.mファイル全体を表示できますか? –

+0

あなたは十分なコードを表示していませんが、私はとにかく答えることを推測しています。 – JeremyP

答えて

1

NSArrayを作成してから、後でそのオブジェクトにオブジェクトを追加しようとしています。 NSArrayは不変であり、-addObject:に応答しません。したがって、NSArray(おそらくどこかgetActiveVehiclesHandler:)を作成または取得している場所を探して、代わりにNSMutableArrayにしてください。

+0

残念ながら、getActiveVehiclesHandlerのすべてをコメントアウトするとエラーが発生します。私は "NSArray"に何も追加していません – Nachtkrapp

+1

@ user1365464:同じことですが、NSArrayが変更可能な方法で使用されている場所を探す必要があります。 – JeremyP

+0

解決済み!あなたは正しかった。 SoapRequest * _request = [SoapRequest create:_target action:_action service:self soapAction:@ "http://www.myURL/soap#getActiveVehicles" postData:_envelope deserializeTo:自動生成されたスーチコードにNSArrayへのキャストがありました。 [[NSArray alloc] autorelease]];それをNSMutableArrayに変更し、今実行します! – Nachtkrapp

関連する問題