当用户按下按钮时,我创建一个UITableView
,将它的委托和数据源设置为当前控制器(实现UITableViewDelegate
和UITableViewDataSource
协议),将其作为子视图添加到控制器的视图中并实现数据源方法
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
每当我滚动表格视图时,应用程序都会崩溃
[UITableView currentPage]: unrecognized selector sent to instance 0x11365c00
其中0x11365c00
是tableView
。如果我没有设置tableView's
代理并且只设置数据源,那么它不会崩溃。如果我在numberOfRowsInSection
中返回0,则此行为是相同的,因此没有任何内容添加到tableView
,并且没有与我的数据相关的崩溃。任何帮助都会很棒!
答案 0 :(得分:1)
发生崩溃是因为您正在向无法处理它的对象发送消息-currentPage
。
实际上,tableviews在其界面中没有此方法,除非您使用的是类别。所以问题是你的实现文件中的哪个对象应该处理这个消息?
答案 1 :(得分:0)
<强>原因:强>
[someObjectHere currentPage]; // Here someObjectHere is really a table view(UITableView type)
如果您有表视图类并忘记定义currentPage方法,那么在那里定义它。那就是它崩溃了应用程序。
如果你的视图控制器中有currentPage方法,那么你必须确保someObjectHere是你的View控制器。
[self currentPage];