我创建了一个标签;以编程方式编写代码如下:
tblWebserviceList=[[UITableView alloc] initWithFrame:CGRectMake(345, 304, 430, 180)];
tblWebserviceList.delegate=self;
tblWebserviceList.dataSource=self;
tblWebserviceList.rowHeight=30;
[WebServiceView addSubview:tblWebserviceList];
现在,这个表视图被添加到一个名为WebServiceView
的视图上,我在一个按钮上单击添加
表格视图的委托方法如下
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
//------------------------------------------------------------------------
// Method : numberOfRowsInSection
// method to set the number of row in the tableview
//------------------------------------------------------------------------
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if(arrWebServiceList==nil)
return 0;
return [arrWebServiceList count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(cell==nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
cell.selectionStyle=UITableViewCellSelectionStyleNone;
}
cell.textLabel.font=[UIFont fontWithName:@"Helvetica" size:15];
cell.textLabel.text=[arrWebServiceList objectAtIndex:indexPath.row];
return cell;
}
点击一个按钮,我有添加WebServiceView
的代码,如下所示:
tblWebserviceList.hidden=YES;
[self.view addSubview:WebServiceView];
此处在添加父视图之前我隐藏了tblWebserviceList
并将在需要时显示
这就是代码。
现在我的问题是这个代码在ios 7.0和7.1上运行良好。
但是应用程序在ios 8.0上崩溃了。使用xcode 6的beta 6调试此代码。
崩溃日志为
*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array'
*** First throw call stack:
(0x22c6bf77 0x30134c77 0x22b803d7 0x40b94f 0x26315501 0x263192db 0x2624434f 0x25c724c5 0x25c6dec1 0x25c6dd49 0x25c6d737 0x25c6d541 0x25c6744d 0x22c32835 0x22c2ff19 0x22c3031b 0x22b7dda1 0x22b7dbb3 0x2a063051 0x262a5c41 0x53aed 0x53438)
libc++abi.dylib: terminating with uncaught exception of type NSException
我认为只有当表的第一次数据源数组包含0记录时才会出现此问题,因为首先我显示空表,然后在插入Web服务URL后添加记录。
如果记录大于0,那么它将正常工作。只发出0条记录。
请帮助我!!!
由于
答案 0 :(得分:0)
更改此行
cell.textLabel.text=[arrWebServiceList objectAtIndex:indexPath.row];
到
cell.textLabel.text = [arrWebServiceList count] > 0 ? [arrWebServiceList objectAtIndex:indexPath.row] : @"DummyText";