__NSCFString字符串错误

时间:2015-12-12 14:48:46

标签: ios objective-c afnetworking

我遇到以下错误:

“因未捕获的异常而终止应用程序'NSInvalidArgumentException',原因:' - [__ NSCFString string]:无法识别的选择器发送到实例”

实现AFNetworking的方法POST(resultDict包含图像):

str=[str stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
[manager1 POST:str
    parameters:resultDict
       success:^(AFHTTPRequestOperation * _Nonnull operation, id  _Nonnull responseObject) {
           NSLog(@"Post JSON: %@",responseObject);
       } failure:^(AFHTTPRequestOperation * _Nullable operation, NSError * _Nonnull error) {
           NSLog(@"Post Error: %@",error);
       }];

据我所知,问题在于解析,但在我的项目中几乎相同的代码没有问题。

我在POST方法之前暂停了运行,没有变量等于nil

有人遇到过这个问题吗?

1 个答案:

答案 0 :(得分:0)

检查堆栈跟踪。什么叫string?导致此问题的原因是某些变量不是您认为的类型(或AFNetworking认为的类型)。有些类型有string方法,但它获得了NSString而不是该类型。

我的预感是[POST:parameters:success:failure:]让您的网址感到困惑,并且可能在如何管理其NSURLComponents(具有-string方法)方面存在错误,并且在这里感到可疑

发送前检查str。此编码可能不正确。您不一定使用URLQueryAllowedCharacterSet来编码整个URL(并非所有URL都是查询)。你经常会逃脱它,但这不是真的正确。