Ios 加载核心数据时出错
我尝试使用CoreData来保存一些数据。数据是从url下载的,它是一个Json,包含一组用户详细信息。我尝试解析json并将数据转换为我的NSManagedObjectModel子类,称为“User”。然而,应用程序没有任何解释就中断了。有人能告诉我我的代码出了什么问题吗Ios 加载核心数据时出错,ios,swift,core-data,Ios,Swift,Core Data,我尝试使用CoreData来保存一些数据。数据是从url下载的,它是一个Json,包含一组用户详细信息。我尝试解析json并将数据转换为我的NSManagedObjectModel子类,称为“User”。然而,应用程序没有任何解释就中断了。有人能告诉我我的代码出了什么问题吗 //var friend = [User]() func loadUpdateData(){ self.refreshControl?.beginRefreshing() let dir = NSSearchPathF
//var friend = [User]()
func loadUpdateData(){
self.refreshControl?.beginRefreshing()
let dir = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0] as NSString
let url = NSURL( string: "http://192.168.0.101/index.php?method=updateData&id=1" )
var request = NSMutableURLRequest(URL: url!, cachePolicy: NSURLRequestCachePolicy.ReloadIgnoringLocalCacheData, timeoutInterval: 10)
request.HTTPMethod = "POST"
request.HTTPBody = checkList!
var updateQueue = NSOperationQueue()
NSURLConnection.sendAsynchronousRequest(request, queue: updateQueue, completionHandler: { (response, recievedData, error) -> Void in
if error == nil && (recievedData != nil) {
let dataString = NSString(data: recievedData, encoding: NSUTF8StringEncoding)
let readableData = dataString?.dataUsingEncoding(NSUTF8StringEncoding)
var updatedFriendList = NSJSONSerialization.JSONObjectWithData(readableData!, options: NSJSONReadingOptions.MutableContainers, error: nil)! as [NSDictionary]
dispatch_async(dispatch_get_main_queue(), {
for (var index=0; index<updatedFriendList.count; index++) {
User.insertNewUser(self.objectContext!, newUserDict: updatedFriendList[index]) **//it seems app crashes at this line is being executed.**
}
self.objectContext?.save(nil)
self.refreshControl?.endRefreshing()
})
}else{
dispatch_async(dispatch_get_main_queue(), {
let _ = self.refreshControl?.endRefreshing()
})
}
})
}
--更新错误快照--
libsystem\u kernel.dylib`\u pthread\u kill:
0x19317b268:movz x16,#328
0x19317b26c:svc#128
0x19317b270:b.cc 0x19317b288__pthread_kill+32
0x19317b274:stp fp,lr,[sp,#-16]!
0x19317b278:mov fp,sp
0x19317b27c:bl 0x19316259c;塞罗鲁诺坎塞尔
0x19317b280:mov sp,fp
0x19317b284:ldp fp,lr,[sp],#16
0x19317b288:ret
2015-04-09 22:47:27.488激励[355:78244]-[entientity.User setNumOfTarget:]:发送到实例0x1702c1c70的选择器无法识别
2015-04-09 22:47:27.492激励[355:78244]*由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[entitive.User setNumOfTarget:::]:未识别的选择器发送到实例0x1702c1c70'
*第一次抛出调用堆栈:
(0x18229e59c 0x1929f40e4 0x1822a5664 0x1822a2418 0x1821a6b6c 0x1000a2678 0x10009b79c 0x10009c294 0x181c86f34 0x183157508 0x1830a8c94 0x18309861c 0x18315a26c 0x1004e0df0 0x1004eb854 0x1004e4120 0x1004ed75c 0x1004eef18 0x1932152e4 0x193214fa8)
libc++abi.dylib:以NSException类型的未捕获异常终止
(lldb)以下是解释:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Incentive.User setNumOfTarget:]: unrecognized selector sent to instance 0x1702c1c70'
这意味着用户类不知道setNumOfTarget:。检查您的CoreData模型是否正确定义了它。好吧,在调试器中运行时,它应该在某个地方中断,因此这是您的第一条线索。您可以定义“应用中断”吗?断点?症状?@JohanKool,断点不停在特定行。我已经在应用程序中断时更新了声明。请参阅以上更新的声明。此外,我试图逐行执行代码,似乎错误发生在以下行:for(var index=0;index实际上我的“User”类没有一个名为“setNumOfTarget”的属性。它确实有一个名为“numOfTarget”的属性.它们有关系吗?如果有,它们之间的关系是什么?你能解释一下CoreData模型应该如何定义类吗?谢谢!我明白了,你是对的。这真的是因为我的粗心!我在模型中取错了名字…谢谢。
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Incentive.User setNumOfTarget:]: unrecognized selector sent to instance 0x1702c1c70'