Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flurry报告NumberOfSectionsTableView iPhone SDK出现奇怪的接收器/选择器错误_Iphone_Objective C_Uitableview_Crash_Unrecognized Selector - Fatal编程技术网

Flurry报告NumberOfSectionsTableView iPhone SDK出现奇怪的接收器/选择器错误

Flurry报告NumberOfSectionsTableView iPhone SDK出现奇怪的接收器/选择器错误,iphone,objective-c,uitableview,crash,unrecognized-selector,Iphone,Objective C,Uitableview,Crash,Unrecognized Selector,我正在使用Flurry跟踪我的iPhone应用程序的统计数据,最近我看到了几个非常奇怪的错误。看似随机的对象正在接收“numberOfSectionsInTableView”消息,我不知道如何/为什么。该应用程序使用4.2.1 SDK构建,面向iOS 4.0设备。以下是一些示例的片段: NSInvalidArgumentException: -[NSCFString numberOfSectionsInTableView:]: unrecognized selector sent to ins

我正在使用Flurry跟踪我的iPhone应用程序的统计数据,最近我看到了几个非常奇怪的错误。看似随机的对象正在接收“numberOfSectionsInTableView”消息,我不知道如何/为什么。该应用程序使用4.2.1 SDK构建,面向iOS 4.0设备。以下是一些示例的片段:


NSInvalidArgumentException: -[NSCFString numberOfSectionsInTableView:]: unrecognized selector sent to instance 0x4f3de10

NSInvalidArgumentException: -[__NSCFData numberOfSectionsInTableView:]: unrecognized selector sent to instance 0x4f55bc0

NSInvalidArgumentException: -[NSPathStore2 numberOfSectionsInTableView:]: unrecognized selector sent to instance 0x4f5ebc0

NSInvalidArgumentException: -[__NSCFType numberOfSectionsInTableView:]: unrecognized selector sent to instance 0x2ac5f0

NSInvalidArgumentException: -[PLPhoto numberOfSectionsInTableView:]: unrecognized selector sent to instance 0x2fbc30

NSInvalidArgumentException: -[PLPhotoLibrary numberOfSectionsInTableView:]: unrecognized selector sent to instance 0x725ea20
我只是在通常的UITableView委托方法中指定numberOfSectionsInTableView,而不是直接调用它。我找到的唯一直接调用此方法的代码位于ASIHTTPRequest库中:


    if (section == [self numberOfSectionsInTableView:aTableView]-1) {
        return 30;
    }
    return 0;
但这是在“ASIAuthenticationDialog.m”中,我没有在ASIHTTPRequest中使用auth

以前有人见过这样的东西吗?我愿意接受任何和所有的建议,在这里我被难住了,到目前为止我无法复制它


谢谢。

听起来像是一个典型的过度发布问题。您已经过度释放了一个对象,而另一个随机对象正在收到消息


打开僵尸检测并再次尝试您的测试用例。

我也有同样的问题,我的问题是我在方法中本地创建了数据源,它运行到相同的内存问题

- (void)setupDataSource {
  /* some code to create sections */
  TransactionDetailDataSource *dataSource = [[TransactionDetailDataSource alloc] initWithSections:sections];

  self.tableView.dataSource = dataSource;
  self.tableView.delegate = dataSource;

  [self.tableView reloadData];
}
…所以我必须创造新的财产

@property (nonatomic, strong) TransactionDetailDataSource *dataSource;
再加上这一行

self.dataSource = dataSource;

在方法的末尾。

您好,谢谢您的回答!假设过度发布发生在应用程序调用numberOfSectionsInTableView时,安全吗?(比如在它之前或之后,等等)或者它可能来自作为numberOfSectionsInTableView消息的接收者列出的任何对象?不幸的是,我开启了僵尸检测,但仍然无法复制(不管怎样,谢谢,这可能就是问题所在,我想我得设法找到答案。