我正在尝试在UIViewController
中添加UIScrollView
,UIViewController
添加了UITableView
Interface Builder,我已将其连接到数据源和委托到文件所有者然后我已将IBOutlet
属性与ActivityView
类连接起来,当我这样做以添加到UIScrollView
时:
ActivityView *viewActivity = [[ActivityView alloc] initWithNibName:@"ActivityView" bundle:nil];
[self.scrollView addSubview:viewActivity.view];
但是当我打开视图时,应用程序会在某个时间使用BAD_EXC_ACCESS
崩溃,有时会出现SIGBRT
并出现此错误:
[UILabel tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0xd27f8d0
有时是这样的:
[SMPageControl tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0xd68dcb0
有时是这样的:
[NSPathStore2 tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0xd3746b0
我无法理解如何修复它,如果我单独使用ActivityView,而不将其添加到UIScrollview
,效果很好,如果我在没有与UITableView连接的情况下添加ActivityView,那么我认为问题是将它添加到带有UITableView插座连接的UIScrollView
,我该怎么做?
这是ActivityView的代码:
#import "ActivityView.h"
@interface ActivityView () <UITableViewDelegate, UITableViewDataSource>
@property (weak, nonatomic) IBOutlet UITableView *tableView;
@property (strong, nonatomic) NSMutableArray *activities;
@end
@implementation ActivityView
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [self.activities count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @"SimpleTableItem";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
}
cell.textLabel.text = [self.activities objectAtIndex:indexPath.row];
return cell;
}
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
self.activities = [NSMutableArray array];
[self.activities addObject:@"row"];
}
编辑:我也试过以编程方式添加UITableView,没有界面构建器,当我设置数据源代理时,崩溃......每个人都可以尝试......总是崩溃......