运行时错误Xcode运行PARSE

时间:2013-07-30 18:49:31

标签: objective-c xcode4.5 parse-platform

我相信你们大多数人都处理过类似的问题。好吧,事实证明我正在尝试使用parse运行这个简单的程序,但是我遇到了一个与程序程序集及其线程组成有关的有趣问题。

该程序未发现编译错误

<!-- language: «lang-c» -->

«#import "PCommonsAppDelegate.h"

@implementation PCommonsDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:        (NSDictionary *)launchOptions
{
// Override point for customization after application launch.

[Parse setApplicationId:@"100000000pUgmUXDRT64dF6mTT8mY"
              clientKey:@"aLT1itwGri41wZ5Nva8WBb6hWGVBGkjk5aWvmDTm"];

return YES;

} »

主要看起来像这样。

<!-- language: «lang-c» -->

«//  main.m
 //PCommons using PARSE
 //  
 //

#import <UIKit/UIKit.h>

#import "PCommonsAppDelegate.h"

int main(int argc, char *argv[])
{
@autoreleasepool {
    return UIApplicationMain(argc, argv, nil, NSStringFromClass([PCommonsAppDelegate     class]));
    }
}

»

日志输出如下所示:

<!-- language: «lang-bsh» -->

«2013-07-30 13:52:48.930 ParseTask[691:c07]
 *** Assertion failure in -[UITableView_configureCellForDisplay:forIndexPath:], 
 /SourceCache/UIKit_Sim/UIKit-2380.17/UITableView.m:5471

 2013-07-30 13:52:48.931 ParseExample[691:c07] *** Terminating app due to uncaught   exception 
'NSInternalInconsistencyException', reason: 'UITableView dataSource 
must return a cell from tableView:cellForRowAtIndexPath:'
*** First throw call stack:
(0x213d012 0x1f62e7e 0x213ce78 0x1c21665 
0x1185c1b 0x111a40c 0x1185a7b 0x118a919 
0x118a9cf  0x11731bb 0x1183b4b 0x11202dd 
0x1f766b0 0x565fc0 0x55a33c 0x55a150 
0x4d80bc 0x4d9227 0x4d98e2 0x2105afe  
0x2105a3d 0x20e37c2 0x20e2f44 0x20e2e1b 
0x2b6a7e3 0x2b6a668 0x10cfffc 0x2b3d 0x2a65)

libc++abi.dylib: terminate called throwing an exception»

而且,当看一下Thread结构时,我注意到有一个THREAD 1:信号SIGBRT'断点'影响堆栈。例如:

我知道了

0x93e0ea72:movl 26027(%edx),%edx

在UIApplicationMain上。

线程1(主线程):: 0__pthread_kill

  
«libsystem_kernel.dylib`__pthread_kill:
0x93e0ea60:  movl   $524616, %eax
0x93e0ea65:  calll  0x93e104c2 ; _sysenter_trap
0x93e0ea6a:  jae    0x93e0ea7a ; __pthread_kill + 26
0x93e0ea6c:  calll  0x93e0ea71 ; __pthread_kill + 17
0x93e0ea71:  popl   %edx
0x93e0ea72:  movl   26027(%edx), %edx
0x93e0ea78:  jmpl   *%edx
0x93e0ea7a:  ret    
0x93e0ea7b:  nop    

»

断点也在线程2,线程3,线程4 ...上提出,直到线程13让我怀疑它是否是套接字的问题。

如何有效地编译?

1 个答案:

答案 0 :(得分:0)

您需要为UITableView提供正确的数据源。在某个地方你有一个UITableView,你已经指向了数据源。该类必须实现tableView:cellForRowAtIndexPath:并返回正确的UITableViewCell。

请参阅https://www.parse.com/docs/ios/api/Classes/PFQueryTableViewController.html#//api/name/tableView:cellForRowAtIndexPath:object