私はカスタムセルで10行のテーブルを表示し、1つは通常のセルで表示するテーブルビューを使用しています。私は...このコードを使用していこのコードのエラーは何故クラッシュするのですか?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *[email protected]"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (indexPath.row == [listofBusiness count]) {
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
cell.textLabel.text= @"Show more...";
//cell = self.tvcell;
return cell;
}
else if(indexPath.row==[appDelegate.busines_Aray count])
{
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
return cell;
}
if(customCell == nil) {
[[NSBundle mainBundle] loadNibNamed:@"Place_cell" owner:self options:nil];
}
// Configure the cell...
cell.backgroundColor=[UIColor colorWithRed:0.92 green:0.92 blue:0.92 alpha:1];
cell.accessoryType = UITableViewCellAccessoryNone;
cell.selectionStyle=UITableViewCellSelectionStyleNone;
BusinessData *business_datas = [appDelegate.busines_Aray objectAtIndex:indexPath.row];
UITextField *tmptxt;
tmptxt = (UITextField *)[cell viewWithTag:1];
tmptxt.backgroundColor=[UIColor clearColor];
tmptxt.text = [NSString stringWithFormat:@"%@",business_datas.name_business ];
tmptxt = (UITextField *)[cell viewWithTag:2];
tmptxt.text = [NSString stringWithFormat:@"%@", business_datas.cat_business];
tmptxt = (UITextField *)[cell viewWithTag:3];
tmptxt.backgroundColor=[UIColor clearColor];
tmptxt.text = [NSString stringWithFormat:@"%d",business_datas.noofreview];
if(business_datas.avg_rating ==0.0)
{
CGRect myImage1 =CGRectMake(190,5,20,22);
UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:myImage1];
[imageView1 setImage:[UIImage imageNamed:@"emStar.png"]];
[cell addSubview:imageView1];
[imageView1 release];
CGRect myImage2 =CGRectMake(210,5,20,22);
UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:myImage2];
[imageView2 setImage:[UIImage imageNamed:@"emStar.png"]];
[cell addSubview:imageView2];
[imageView2 release];
CGRect myImage3 =CGRectMake(230,5,20,22);
UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:myImage3];
[imageView3 setImage:[UIImage imageNamed:@"emStar.png"]];
[cell addSubview:imageView3];
[imageView3 release];
CGRect myImage4 =CGRectMake(250,5 ,20,22);
UIImageView *imageView4 = [[UIImageView alloc] initWithFrame:myImage4];
[imageView4 setImage:[UIImage imageNamed:@"emStar.png"]];
[cell addSubview:imageView4];
[imageView4 release];
CGRect myImage5 =CGRectMake(270,5,20,22);
UIImageView *imageView5 = [[UIImageView alloc] initWithFrame:myImage5];
[imageView5 setImage:[UIImage imageNamed:@"emStar.png"]];
[cell addSubview:imageView5];
[imageView5 release];
}
else if(business_datas.avg_rating ==0.5)
{
CGRect myImage1 =CGRectMake(190,5,20,22);
UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:myImage1];
[imageView1 setImage:[UIImage imageNamed:@"Black-Half.png"]];
[cell addSubview:imageView1];
[imageView1 release];
CGRect myImage2 =CGRectMake(210,5,20,22);
UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:myImage2];
[imageView2 setImage:[UIImage imageNamed:@"emStar.png"]];
[cell addSubview:imageView2];
[imageView2 release];
CGRect myImage3 =CGRectMake(230,5,20,22);
UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:myImage3];
[imageView3 setImage:[UIImage imageNamed:@"emStar.png"]];
[cell addSubview:imageView3];
[imageView3 release];
CGRect myImage4 =CGRectMake(250,5,20,22);
UIImageView *imageView4 = [[UIImageView alloc] initWithFrame:myImage4];
[imageView4 setImage:[UIImage imageNamed:@"emStar.png"]];
[cell addSubview:imageView4];
[imageView4 release];
CGRect myImage5 =CGRectMake(270,5,20,22);
UIImageView *imageView5 = [[UIImageView alloc] initWithFrame:myImage5];
[imageView5 setImage:[UIImage imageNamed:@"emStar.png"]];
[cell addSubview:imageView5];
[imageView5 release];
}
else if(business_datas.avg_rating ==1.0)
{
CGRect myImage1 =CGRectMake(190,5,20,22);
UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:myImage1];
[imageView1 setImage:[UIImage imageNamed:@"star.png"]];
[cell addSubview:imageView1];
[imageView1 release];
CGRect myImage2 =CGRectMake(210,5,20,22);
UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:myImage2];
[imageView2 setImage:[UIImage imageNamed:@"emStar.png"]];
[cell addSubview:imageView2];
[imageView2 release];
CGRect myImage3 =CGRectMake(230,5,20,22);
UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:myImage3];
[imageView3 setImage:[UIImage imageNamed:@"emStar.png"]];
[cell addSubview:imageView3];
[imageView3 release];
CGRect myImage4 =CGRectMake(250,5,20,22);
UIImageView *imageView4 = [[UIImageView alloc] initWithFrame:myImage4];
[imageView4 setImage:[UIImage imageNamed:@"emStar.png"]];
[cell addSubview:imageView4];
[imageView4 release];
CGRect myImage5 =CGRectMake(270,5,20,22);
UIImageView *imageView5 = [[UIImageView alloc] initWithFrame:myImage5];
[imageView5 setImage:[UIImage imageNamed:@"emStar.png"]];
[cell addSubview:imageView5];
[imageView5 release];
}
else if(business_datas.avg_rating ==1.5)
{
CGRect myImage1 =CGRectMake(190,5,20,22);
UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:myImage1];
[imageView1 setImage:[UIImage imageNamed:@"star.png"]];
[cell addSubview:imageView1];
[imageView1 release];
CGRect myImage2 =CGRectMake(210,5,20,22);
UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:myImage2];
[imageView2 setImage:[UIImage imageNamed:@"Black-Half.png"]];
[cell addSubview:imageView2];
[imageView2 release];
CGRect myImage3 =CGRectMake(230,5,20,22);
UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:myImage3];
[imageView3 setImage:[UIImage imageNamed:@"emStar.png"]];
[cell addSubview:imageView3];
[imageView3 release];
CGRect myImage4 =CGRectMake(250,5,20,22);
UIImageView *imageView4 = [[UIImageView alloc] initWithFrame:myImage4];
[imageView4 setImage:[UIImage imageNamed:@"emStar.png"]];
[cell addSubview:imageView4];
[imageView4 release];
CGRect myImage5 =CGRectMake(270,5,20,22);
UIImageView *imageView5 = [[UIImageView alloc] initWithFrame:myImage5];
[imageView5 setImage:[UIImage imageNamed:@"emStar.png"]];
[cell addSubview:imageView5];
[imageView5 release];
}
else if(business_datas.avg_rating ==2.0)
{
CGRect myImage1 =CGRectMake(190,5,20,22);
UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:myImage1];
[imageView1 setImage:[UIImage imageNamed:@"star.png"]];
[cell addSubview:imageView1];
[imageView1 release];
CGRect myImage2 =CGRectMake(210,5,20,22);
UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:myImage2];
[imageView2 setImage:[UIImage imageNamed:@"star.png"]];
[cell addSubview:imageView2];
[imageView2 release];
CGRect myImage3 =CGRectMake(230,5,20,22);
UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:myImage3];
[imageView3 setImage:[UIImage imageNamed:@"emStar.png"]];
[cell addSubview:imageView3];
[imageView3 release];
CGRect myImage4 =CGRectMake(250,5,20,22);
UIImageView *imageView4 = [[UIImageView alloc] initWithFrame:myImage4];
[imageView4 setImage:[UIImage imageNamed:@"emStar.png"]];
[cell addSubview:imageView4];
[imageView4 release];
CGRect myImage5 =CGRectMake(270,5,20,22);
UIImageView *imageView5 = [[UIImageView alloc] initWithFrame:myImage5];
[imageView5 setImage:[UIImage imageNamed:@"emStar.png"]];
[cell addSubview:imageView5];
[imageView5 release];
}
else if(business_datas.avg_rating ==2.5)
{
CGRect myImage1 =CGRectMake(190,5,20,22);
UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:myImage1];
[imageView1 setImage:[UIImage imageNamed:@"star.png"]];
[cell addSubview:imageView1];
[imageView1 release];
CGRect myImage2 =CGRectMake(210,5,20,22);
UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:myImage2];
[imageView2 setImage:[UIImage imageNamed:@"star.png"]];
[cell addSubview:imageView2];
[imageView2 release];
CGRect myImage3 =CGRectMake(230,5,20,22);
UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:myImage3];
[imageView3 setImage:[UIImage imageNamed:@"Black-Half.png"]];
[cell addSubview:imageView3];
[imageView3 release];
CGRect myImage4 =CGRectMake(250,5,20,22);
UIImageView *imageView4 = [[UIImageView alloc] initWithFrame:myImage4];
[imageView4 setImage:[UIImage imageNamed:@"emStar.png"]];
[cell addSubview:imageView4];
[imageView4 release];
CGRect myImage5 =CGRectMake(270,5,20,22);
UIImageView *imageView5 = [[UIImageView alloc] initWithFrame:myImage5];
[imageView5 setImage:[UIImage imageNamed:@"emStar.png"]];
[cell addSubview:imageView5];
[imageView5 release];
}
else if(business_datas.avg_rating ==3.0)
{
CGRect myImage1 =CGRectMake(190,5,20,22);
UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:myImage1];
[imageView1 setImage:[UIImage imageNamed:@"star.png"]];
[cell addSubview:imageView1];
[imageView1 release];
CGRect myImage2 =CGRectMake(210,5,20,22);
UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:myImage2];
[imageView2 setImage:[UIImage imageNamed:@"star.png"]];
[cell addSubview:imageView2];
[imageView2 release];
CGRect myImage3 =CGRectMake(230,5,20,22);
UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:myImage3];
[imageView3 setImage:[UIImage imageNamed:@"star.png"]];
[cell addSubview:imageView3];
[imageView3 release];
CGRect myImage4 =CGRectMake(250,5 ,20,22);
UIImageView *imageView4 = [[UIImageView alloc] initWithFrame:myImage4];
[imageView4 setImage:[UIImage imageNamed:@"emStar.png"]];
[cell addSubview:imageView4];
[imageView4 release];
CGRect myImage5 =CGRectMake(270,5,20,22);
UIImageView *imageView5 = [[UIImageView alloc] initWithFrame:myImage5];
[imageView5 setImage:[UIImage imageNamed:@"emStar.png"]];
[cell addSubview:imageView5];
[imageView5 release];
}
else if(business_datas.avg_rating ==3.5)
{
CGRect myImage1 =CGRectMake(190,5,20,22);
UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:myImage1];
[imageView1 setImage:[UIImage imageNamed:@"star.png"]];
[cell addSubview:imageView1];
[imageView1 release];
CGRect myImage2 =CGRectMake(210,5,20,22);
UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:myImage2];
[imageView2 setImage:[UIImage imageNamed:@"star.png"]];
[cell addSubview:imageView2];
[imageView2 release];
CGRect myImage3 =CGRectMake(230,5,20,22);
UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:myImage3];
[imageView3 setImage:[UIImage imageNamed:@"star.png"]];
[cell addSubview:imageView3];
[imageView3 release];
CGRect myImage4 =CGRectMake(250,5,20,22);
UIImageView *imageView4 = [[UIImageView alloc] initWithFrame:myImage4];
[imageView4 setImage:[UIImage imageNamed:@"Black-Half.png"]];
[cell addSubview:imageView4];
[imageView4 release];
CGRect myImage5 =CGRectMake(270,5,20,22);
UIImageView *imageView5 = [[UIImageView alloc] initWithFrame:myImage5];
[imageView5 setImage:[UIImage imageNamed:@"emStar.png"]];
[cell addSubview:imageView5];
[imageView5 release];
}
else if(business_datas.avg_rating ==4.0)
{
CGRect myImage1 =CGRectMake(190,5,20,22);
UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:myImage1];
[imageView1 setImage:[UIImage imageNamed:@"star.png"]];
[cell addSubview:imageView1];
[imageView1 release];
CGRect myImage2 =CGRectMake(210,5,20,22);
UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:myImage2];
[imageView2 setImage:[UIImage imageNamed:@"star.png"]];
[cell addSubview:imageView2];
[imageView2 release];
CGRect myImage3 =CGRectMake(230,5,20,22);
UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:myImage3];
[imageView3 setImage:[UIImage imageNamed:@"star.png"]];
[cell addSubview:imageView3];
[imageView3 release];
CGRect myImage4 =CGRectMake(250,5,20,22);
UIImageView *imageView4 = [[UIImageView alloc] initWithFrame:myImage4];
[imageView4 setImage:[UIImage imageNamed:@"star.png"]];
[cell addSubview:imageView4];
[imageView4 release];
CGRect myImage5 =CGRectMake(270,5,20,22);
UIImageView *imageView5 = [[UIImageView alloc] initWithFrame:myImage5];
[imageView5 setImage:[UIImage imageNamed:@"emStar.png"]];
[cell addSubview:imageView5];
[imageView5 release];
}
else if(business_datas.avg_rating ==4.5)
{
CGRect myImage1 =CGRectMake(190,5,20,22);
UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:myImage1];
[imageView1 setImage:[UIImage imageNamed:@"star.png"]];
[cell addSubview:imageView1];
[imageView1 release];
CGRect myImage2 =CGRectMake(210,5,20,22);
UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:myImage2];
[imageView2 setImage:[UIImage imageNamed:@"star.png"]];
[cell addSubview:imageView2];
[imageView2 release];
CGRect myImage3 =CGRectMake(230,5,20,22);
UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:myImage3];
[imageView3 setImage:[UIImage imageNamed:@"star.png"]];
[cell addSubview:imageView3];
[imageView3 release];
CGRect myImage4 =CGRectMake(250,5,20,22);
UIImageView *imageView4 = [[UIImageView alloc] initWithFrame:myImage4];
[imageView4 setImage:[UIImage imageNamed:@"star.png"]];
[cell addSubview:imageView4];
[imageView4 release];
CGRect myImage5 =CGRectMake(270,5,20,22);
UIImageView *imageView5 = [[UIImageView alloc] initWithFrame:myImage5];
[imageView5 setImage:[UIImage imageNamed:@"Black-Half.png"]];
[cell addSubview:imageView5];
[imageView5 release];
}
else //if(business_datas.avg_rating ==5.0)
{
CGRect myImage1 =CGRectMake(190,5,20,22);
UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:myImage1];
[imageView1 setImage:[UIImage imageNamed:@"star.png"]];
[cell addSubview:imageView1];
[imageView1 release];
CGRect myImage2 =CGRectMake(210,5,20,22);
UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:myImage2];
[imageView2 setImage:[UIImage imageNamed:@"star.png"]];
[cell addSubview:imageView2];
[imageView2 release];
CGRect myImage3 =CGRectMake(230,5,20,22);
UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:myImage3];
[imageView3 setImage:[UIImage imageNamed:@"star.png"]];
[cell addSubview:imageView3];
[imageView3 release];
CGRect myImage4 =CGRectMake(250,5,20,22);
UIImageView *imageView4 = [[UIImageView alloc] initWithFrame:myImage4];
[imageView4 setImage:[UIImage imageNamed:@"star.png"]];
[cell addSubview:imageView4];
[imageView4 release];
CGRect myImage5 =CGRectMake(270,5 ,20,22);
UIImageView *imageView5 = [[UIImageView alloc] initWithFrame:myImage5];
[imageView5 setImage:[UIImage imageNamed:@"star.png"]];
[cell addSubview:imageView5];
[imageView5 release];
}
return cell;
}、コンパイラは次のエラーを与えるそのコードに来
...
2011-09-13 12:24:13.641 Yelpの-OnTheWay [8739:207] アサーションエラー - [UITableView _createPreparedCellForGlobalRow:withIndexPath:]、/SourceCache/UIKit_Sim/UIKit-1447.6.4/UITableView.m:5613 2011-09-13 12:24:13.643 Yelp- OnTheWay [8739:207] キャッチされていないエスケープのためにアプリケーションを終了するption 'NSInternalInconsistencyException'、理由: 'のUITableView DataSourceがのtableViewからセルを返す必要があります:cellForRowAtIndexPath:' * *最初のスローでのコールスタック: ( 0 CoreFoundationの0x012bebe9 exceptionPreprocess + 185 1 libobjc.A.dylib 0x014135c2 objc_exception_throw + 47 2 CoreFoundationの0x01277628 + [NSExceptionレイズ:フォーマット:引数:] + 136 3ファンデーション0x0016747b - [NSAssertionHandler handleFailureInMethod:目的:ファイル:行番号:説明:] + 116 4のUIKit 0x003e08f3 - [のUITableView(UITableViewInternal)_createPreparedCellForGlobalRow:withIndexPath :] + 883 5 UIKit 0x003d677f - [UITableView(UITableViewInternal)] _createPreparedCellF orGlobalRow:] + 75 6のUIKit 0x003eb450 - [のUITableView(_UITableViewPrivate)_updateVisibleCellsNow:] + 1561 7のUIKit 0x003e3538 - [のUITableView layoutSubviews] + 242 8 QuartzCore 0x00fca451 - [CALayerのlayoutSublayers] + 181 9 QuartzCoreの0x00fca17c CALayerLayoutIfNeeded + 220 10 QuartzCore 0x00fc337c _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 310 11 QuartzCore 0x00fc30d0 _ZN2CA11Transaction6commitEv + 292 12 QuartzCore 0x00ff37d5 _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 99 13 CoreFoundationの0x0129ffbb __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION + 27 14 CoreFoundationの0 __CFRunLoopRun + 1575 xe7の__CFRunLoopDoObservers + 295 15 CoreFoundationの0x011fdbd7 16 CoreFoundationの0x011fd240 CFRunLoopRunSpecific + 208 17 CoreFoundationの0x011fd161 CFRunLoopRunInMode + 97 18 GraphicsServices 0x01b60268 GSEventRunModal + 217 19 GraphicsServices 0x01b6032d GSEventRun + 115 20のUIKit 0x0037b42e UIApplicationMain + 1160 21 Yelp- OnTheWay 0x00002154 main + 102 22 Yelp-OnTheWay 0x000020e5 start + 53 ) 'NSException'のインスタンスをスローした後に終了する プログラム受信信号: "SIGABRT"。 終了 終了
どのように削除しますか?事前に
おかげで...
'UITableView dataSourceはtableView:cellForRowAtIndexPath'からセルを返す必要があります。詳細については、コードを再フォーマットしてください。あまりにも醜い – Geoffroy
セルを返す時間は何回ですか? – Maulik
http://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672/ref=sr_1_1?s=books&ie=UTF8&qid=1315901566&sr=1-1 – justin