我有一个UITableView
,其中显示了另一个UITableViewCell
中嵌入的自定义UITableView
。
自定义UITableViewCell
的类是:
@interface XYZcustomtakeawayTableViewCell: UITableViewCell <UITableViewDataSource,UITableViewDelegate>
{
NSString * order;
}
@property (strong, nonatomic) IBOutlet UITableView * tableviewinside;
@property (nonatomic, retain) NSString * order;
@end
#import "XYZcustomtakeawayTableViewCell.h"
@implementation {XYZcustomtakeawayTableViewCell
{
NSMutableArray * dataArray;
}
@synthesize tableviewinside, order;
- (id) initWithStyle: (UITableViewCellStyle) style reuseIdentifier: (NSString *) reuseIdentifier: (NSString *) Order
{
self = [super initWithStyle: style reuseIdentifier: reuseIdentifier];
if (self) {
// Initialization code
}
return self;
}
- (void) awakeFromNib
{
// Initialization code
dataArray = [[order componentsSeparatedByString: @ ""] mutableCopy];
self.tableviewinside.delegate = self;
self.tableviewinside.dataSource = self;
}
- (void) setSelected: (BOOL) selected animated: (BOOL) animated
{
[super setSelected: selected animated: animated];
/ / Configure the view for the selected were
}
- (NSInteger) numberOfSectionsInTableView: (UITableView *) tableView
{
return 1;
}
- (NSInteger) tableView: (UITableView *) tableView numberOfRowsInSection: (NSInteger) section
{
dataArray = [[order componentsSeparatedByString: @ ""] mutableCopy];
dataArray.count return;
}
- (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath
{
UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier: @ "cell"];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle: UITableViewCellStyleDefault reuseIdentifier: @ "cell"];
}
cell.textLabel.text = [dataArray objectAtIndex: indexPath.row];
return cell;
}
@end
类UITableViewController
import <UIKit/UIKit.h>
@interface XYZGestisciTakeAwayTableViewController: UITableViewController
@end
NSString * ordine_1 = @&#34; 1 margherita,2 napoletana&#34 ;;
- (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath
{
static NSString * simpleTableIdentifier = @ "cell";
XYZcustomtakeawayTableViewCell * cell = (XYZcustomtakeawayTableViewCell *) [tableView dequeueReusableCellWithIdentifier: simpleTableIdentifier];
if (cell == nil)
{
NSArray * nib = [[NSBundle mainBundle] loadNibNamed: @ "custom_prenotazioni" owner: self options: nil];
cell = [nib objectAtIndex:0];
}
cell.ordine = ordine_1; //FAILURE !!!!!!!!!!!!
return cell;
}
运行应用程序停止,为什么?
如果我删除cell.ordine = ordine_1;
,它就有用。
答案 0 :(得分:0)
我自己回答。问题是将字符串从类传递给类UITableViewCell,我解决了在UITableView中使用[[NSUserDefaults standardUserDefaults] ..保存字符串,除了字符串和自定义uitablevievcell recoveries中的字符串。 所以它有效。但我认为这不是最好的编程方式!