私はCocoaの開発に本当に慣れていないので、親切にしてください。とにかく、TouchJSONを介してサーバーから送信しているJSON文字列を逆シリアル化しようとしていますが、コンパイラの警告が表示され'NSDictionary' may not respond to '+dictionaryWithJSONString:error:'
ます。
エラーの内容は理解できますが、プロジェクトにはすべてのTouchJSONファイルがありNSDictionary_JSONExtensions.h
、アプリの_Prefix.pchファイルに参照があります。コマンドを入力すると、コードの意味で表示されますが、コンパイラで失敗するのはなぜですか?
これが失敗しているコードです、私はどんな提案にも感謝します:
- (IBAction)authorizeUser:(id)sender {
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"http://192.168.0.5/iOS"]];
[request setRequestMethod:@"POST"];
[request setPostValue:credentialsName.text forKey:@"Credentials.Name"];
[request setPostValue:credentialsPassword.text forKey:@"Credentials.Password"];
[request setPostValue:credentialsPIN.text forKey:@"Credentials.PIN"];
[request startSynchronous];
NSError *requestError = [request error];
if (!requestError) {
NSError *jsonError = NULL;
NSDictionary *responseDictionary = [NSDictionary dictionaryWithJSONString:[request responseString] error:&jsonError]; /* <- ERROR... */
status.text = [responseDictionary objectForKey:@"Success"];
}
}
前もって感謝します!
アップデート
#ifdef __OBJC__
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "ASIFormDataRequest.h"
#import "CJSONDeserializer.h"
#import "NSDictionary_JSONExtensions.h"
#endif
更新2
これは前処理に表示されるものであり、ファイルとメソッドが存在するので、機能しているはずですか?
# 10 "/Users/Alex/Documents/iPad/Classes/SignInViewController.m" 2
# 1 "/Users/Alex/Documents/iPad/TouchJSON/Extensions/NSDictionary_JSONExtensions.h" 1
# 32 "/Users/Alex/Documents/iPad/TouchJSON/Extensions/NSDictionary_JSONExtensions.h"
@interface NSDictionary (NSDictionary_JSONExtensions)
+ (id)dictionaryWithJSONData:(NSData *)inData error:(NSError **)outError;