我有一个NSManagedObject
存储一些数据的。我将该数据转换为NSDictionary
通过 XML 上传到我们的服务器的数据。如果成功,服务器将回复我需要更新的信息NSManagedObject
。
我的想法是在中添加NSManagedObject
,NSDictionary
以便我可以轻松参考它。问题是当我尝试通过我的 XMLRPC 上传它时,它给了我错误:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Scouting escapedString]: unrecognized selector sent to instance 0x2297f8d0'
我没有任何名字escapedString
,所以我对正在发生的事情感到迷茫。无论NSManagedObject
我分配的值是什么类型,它都会发生。
代码:
id result = [self.serverCall XMLRPCCall:API_SAVE_OBJECT withObjects:@[year, dictionaries]];
Year 是 a NSNumber
,dictionaries 是字典数组。
以下是服务器调用的方式:
-(id)XMLRPCCall:(NSString *)methodName withObjects:(NSArray *)parametersArray
{
NSString *authServer = [NSString stringWithFormat:@"%@?idtoken=%@", self.API, self.IDToken];
XMLRPCRequest *requestCall = [[XMLRPCRequest alloc] initWithURL:[NSURL URLWithString:authServer]];
[requestCall setMethod:methodName withParameters:parametersArray];
[requestCall setTimeoutInterval:10];
return [self executeXMLRPCERequest:requestCall];
}
-(id)executeXMLRPCERequest:(XMLRPCRequest *)request {
[UIApplication sharedApplication].networkActivityIndicatorVisible = TRUE;
[[NSNotificationCenter defaultCenter] postNotificationName:@"DisableOfflineButton" object:nil];
NSError *myError;
XMLRPCResponse *serverResponse = [XMLRPCConnection sendSynchronousXMLRPCRequest:request error:&myError];
if (myError) {
NSLog(@"myError: %@ [myError userInfo]: %@", myError, [myError userInfo]);
[[NSNotificationCenter defaultCenter] postNotificationName:NETWORK_ERROR object:nil];
return NETWORK_ERROR;
}
[UIApplication sharedApplication].networkActivityIndicatorVisible = FALSE;
[[NSNotificationCenter defaultCenter] postNotificationName:@"EnableOfflineButton" object:nil];
if ([[serverResponse object] isKindOfClass:[NSDictionary class]]
&& [[serverResponse object] objectForKey:FAULT_CODE]) {
DLog(@"fault code found");
if ([[[serverResponse object] objectForKey:FAULT_STRING] isEqualToString:@"Token is not valid. Destroying token."]) {
DLog(@"invalid token");
self.IDToken = nil;
self.API = nil;
[self.delegate forceLogout];
}
}
else {
Defaults *defaults = [Defaults MR_findFirst];
defaults.tokenIDDate = [NSDate date];
}
return [serverResponse object];
}
任何想法是什么导致错误?