的風格我有另一個類設置一個UITableView
MyPocketTableView * myPocketTableView = [[MyPocketTableView alloc]initWithFrame:CGRectMake(85, 153, 235, 250) style:UITableViewStyleGrouped];
但是我打電話一個UITableView類,在UITableViewClass init方法不會讓我做這件事。
@implementation MyPocketTableView
- (id) initWithFrame:(CGRect)frame style:(UITableViewStyle)style {
self = [super initWithFrame:frame];
self = [super initWithStyle:style]
if (self) {
//[self setFrame:CGRectMake(85, 153, 235, 250)];
self.dataSource = self;
self.delegate = self;
}
return self;
}
我不能添加樣式:(UITableViewStyle)樣式到init方法定義,我也可以做self = [super initWithStyle:style]
,因爲它抱怨說
爲「UITableView的」不可見@interface聲明的選擇initWithStyle。
,這是有創建的類時,默認init方法是- (id) initWithFrame:(CGRect)frame
。 MyPocketTableView是一個子類的UITableView的。
@interface MyPocketTableView : UITableView <UITableViewDataSource,UITableViewDelegate>
這是如此基本的...只需使用:self = [super initWithFrame:frame style:style];我不知道爲什麼這個答案被接受......它促進了不好的做法。 –
@BrandonBrodjeski你昨天留下評論贊揚我的答案,甚至投了我的答案!然後你反覆投票並刪除你的評論(我提醒你提出了這個答案。)另一個說明,這種不好的做法是怎麼樣的?這是它應該如何完成的。另一方面,你的回答甚至不涉及設置表格視圖風格的主題!您應該更仔細地閱讀Apple文檔,並且應該閱讀本文提到的原始問題。 – WrightsCS
我太快閱讀你的答案,並且犯了一個錯誤就是讚美它。當調用[super initWithFrame:style:]時,調用[super initWithStyle:]然後設置框架是絕對沒有意義的。 –