- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将 UITableViewDataSource
、UITableViewDelegate
分离到另一个类中,以减少和更改 UITableView
中的委托(delegate)
这是我的代码GroupTableController.h
@interface GroupTableController : NSObject <UITableViewDataSource, UITableViewDelegate>
{
OutlayGroupsCollection *outlayGroupsCollection;
Car *currentCar;
Period *currentPeriod;
}
-(void) setCar:(Car*) currentCar andPeriod:(Period*) currentPeriod;
-(int) total;
@end
GroupTableController.m
@implementation GroupTableController
-(void) setCar:(Car*) car andPeriod:(Period*) period
{
currentCar = car;
currentPeriod = period;
}
-(int) total
{
if(outlayGroupsCollection == nil){
outlayGroupsCollection = [OutlayGroupsCollection new];
}
NSMutableArray *list = [outlayGroupsCollection list:currentCar forPeriod:currentPeriod];
int result = 0;
for (OutlayGroup *group in list) {
result=result+group.sum;
}
return result;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
OutlayGroupCell *cell = (OutlayGroupCell*)[tableView dequeueReusableCellWithIdentifier:@"OutlayGroupCell"];
if (cell==nil) {
cell = [[OutlayGroupCell alloc] init];
}
OutlayGroup *group = [[outlayGroupsCollection list:currentCar forPeriod:currentPeriod ] objectAtIndex:indexPath.section];
cell.typeView.text = [OutlayType getName:[group type]];
cell.sumView.text = [NSString stringWithFormat:@"%d", [group sum]];
return cell;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 1;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
if(outlayGroupsCollection==nil){
outlayGroupsCollection = [OutlayGroupsCollection new];
}
return [[outlayGroupsCollection list:currentCar forPeriod:currentPeriod ] count];
}
@end
我将其绑定(bind)到下一个:
GroupTableController *gtd = [[GroupTableController alloc] init];
mainTableView.delegate = gtd;
mainTableView.dataSource = gtd;
[(GroupTableController*)mainTableView.delegate setCar: currentCar andPeriod: currentPeriod];
但是,我得到了错误
[GroupTableController numberOfSectionsInTableView:]: message sent to deallocated instance 0x9e4d640
我做错了什么!?(我是 Objective C 的新手!)
最佳答案
问题是UITableView
的delegate
和dataSource
属性类型是assign
,也就是说他们不会为您保留 gtd
。
您需要确保在创建 Controller (gtd
) 之后将其保留为属性。
关于ios - 单独类中的 UITableViewDelegate 出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23520662/
我使用 IB 在 Storyboard 中创建了一个 UITableViewController。我将 UITableview 的 delegate 设置为它的 Controller 。 UITabl
我是 iOS 新手,所以如果这是一个基本问题,请耐心等待。我正在关注 these tutorials在第 43 讲中,这个人删除了现有的 View Controller 并添加了一个新的 View C
我的应用程序中有一个 UITableView,我试图将其委托(delegate)方法拉入单独的 UITableViewDelegate 中。这是代码的样子: RestaurantViewDelegat
我有一个包含多个部分的 UITableView。我有一个 NSMutableArray 作为数据源 (floorArray)。当我重新加载 tableview 数据时,我得到 [FloorGroup
我正在尝试从 UITableView 列表调用详细信息屏幕 - 但在接收 View 中未调用委托(delegate) - 我将发布所有代码: 列出头文件: #import #import "tank
我有一个类定义如下: @interface ClassViewController : ContentViewController { IBOutlet UITableView* mTabl
我想将 UITableViewDataSource、UITableViewDelegate 分离到另一个类中,以减少和更改 UITableView 中的委托(delegate) 这是我的代码Group
UITableViewDelegate(甚至可能是 UITableViewDataSource)上似乎应该有一个 API 来让代理知道 UITableView 何时更改编辑状态。但我找不到类似的东西。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及
我有一个带有 TableView 的 TableView Controller ,我在 Storyboard 中设置了一个 TableView Controller ,并从 mapViewContro
我想问一个关于 TableView 和@synchronized 结构的问题。我必须在 didSelectRowAtIndexPath 中执行一次代码,即使用户继续点击表格单元格... 我有一张 ta
所以我正在使用 this library这允许我在向下滚动时压缩的表格 View 顶部制作一个栏。现在我使用桥接头将它安装在我的 Swift 项目中。所以我按照实现指南,将所有代码转换为 Swift
我没有将 View Controller 指定为 UITableViewDelegate,而是尝试通过为 UITableViewDelegate 创建扩展来减少 View Controller 中的代
我正在编写 UITableView 的子类,我希望我的子类在将它们传递给“真正的”委托(delegate)之前处理一些 UITableViewDelegate 方法本身,并转发我的子类未实现的所有 U
我正在做一些研究以获得 tableview 委托(delegate)方法的准确执行顺序。 情况 1:行数 - 对于小值 所以首先我创建了 100 行并发现执行流程如下。 numberOfSection
问题是这样的: 我需要能够在具有大量 tableView 的大型现有应用程序中获取有关 didSelectRowAtIndexPath 的分析。 我的第一个想法是在 didSelectRowAtInd
有人告诉我 UITableViewDelegate 和 UITableViewDatasource 之间的区别吗? 最佳答案 UITableViewDelegate 作为表格的委托(delegate)
在我所有的 UITableView 编程中,我总是在 -[UITableViewDataSource tableView:cellForRowAtIndexPath:] 中配置我的 UITableVi
我将在 tableView 上设置 UITableViewDelegate,但如果这样做,行高会发生变化:第一张图是没有代表团;第二个带有委托(delegate)(顺便说一句。缺少服务 1 是正确的)
有没有办法在表格重新加载数据时保持当前向左或向右滑动的 UITableView UITableViewCell ? 我有一个表,每分钟重新加载数据以保持最新。我使用 UITableViewDelega
我是一名优秀的程序员,十分优秀!