2011-06-28 12 views
0

私は次のコードでASIFormDataRequestを使用しようとしている:ASIFormDataRequest NSInvalidArgumentException

NSURL *url = [NSURL URLWithString: urlString]; 
ASIFormDataRequest *request = [ASIHTTPRequest requestWithURL:url]; 
[request addPostValue:@"json" forKey:@"json"]; 
[request setDelegate:self]; 
[request startAsynchronous]; 

コードが[request addPostValue:@"json" forKey:@"json"];行でクラッシュし。私もsetPostValue:forKey:と同じ結果を試しました。私がaddPostValue:forKey:行をコメントアウトすると、リクエストが通過します(私はそれをサーバー上で見ることができます)が、もちろんjsonデータはありません。

私は値のために文字列jsonを渡すことで問題を単純化しました。この問題を見つけたら、それは実際に私のjson形式の文字列になります。ここで

は、スタックトレースです:

2011-06-28 08:49:29.344 Gleek[26170:207] *** Terminating app due to uncaught  exception  'NSInvalidArgumentException', reason: '-[ASIHTTPRequest addPostValue:forKey:]: unrecognized  selector sent to instance 0x5024400' 
*** Call stack at first throw: 
(
0 CoreFoundation      0x010f85a9 __exceptionPreprocess + 185 
1 libobjc.A.dylib      0x0124c313 objc_exception_throw + 44 
2 CoreFoundation      0x010fa0bb -[NSObject(NSObject) doesNotRecognizeSelector:] + 187 
3 CoreFoundation      0x01069966 ___forwarding___ + 966 
4 CoreFoundation      0x01069522 _CF_forwarding_prep_0 + 50 
5 Gleek        0x00006bab -[ProcedureDefDetailViewController toggleCompletedStatus:] + 1451 
6 UIKit        0x005e44fd -[UIApplication sendAction:to:from:forEvent:] + 119 
7 UIKit        0x00674799 -[UIControl sendAction:to:forEvent:] + 67 
8 UIKit        0x00676c2b -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 527 
9 UIKit        0x006757d8 -[UIControl touchesEnded:withEvent:] + 458 
10 UIKit        0x00608ded -[UIWindow _sendTouchesForEvent:] + 567 
11 UIKit        0x005e9c37 -[UIApplication sendEvent:] + 447 
12 UIKit        0x005eef2e _UIApplicationHandleEvent + 7576 
13 GraphicsServices     0x018b6992 PurpleEventCallback + 1550 
14 CoreFoundation      0x010d9944 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52 
15 CoreFoundation      0x01039cf7 __CFRunLoopDoSource1 + 215 
16 CoreFoundation      0x01036f83 __CFRunLoopRun + 979 
17 CoreFoundation      0x01036840 CFRunLoopRunSpecific + 208 
18 CoreFoundation      0x01036761 CFRunLoopRunInMode + 97 
19 GraphicsServices     0x018b51c4 GSEventRunModal + 217 
20 GraphicsServices     0x018b5289 GSEventRun + 115 
21 UIKit        0x005f2c93 UIApplicationMain + 1160 
22 Gleek        0x00002a09 main + 121 
23 Gleek        0x00002985 start + 53 
24 ???         0x00000001 0x0 + 1 
) 

おかげ

答えて

2

答えは簡単です、あなたが使用する必要があります:

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 

をそして、あなたは、使用している

ASIFormDataRequest *request = [ASIHTTPRequest requestWithURL:url]; 

ただそれを変更してください働くでしょう。

オブジェクトを正しいクラスコンストラクタで初期化していることを必ず確認してください。

+0

ありがとうございます!ストライクをもう一度コピーして貼り付けます。 –

関連する問題