2010-01-23 2 views
0

Я пытаюсь настроить мой Tableview динамически конфигурационный файл froma и пытается переопределить следующий код шаблона:Как программно установить TableView группировать

- (id)initWithStyle:(UITableViewStyle)style { 
    // Override initWithStyle: if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad. 
    JeanieAppDelegate *appDelegate = (JeanieAppDelegate *)[[UIApplication sharedApplication] delegate]; 

    if (self = [super initWithStyle:(UITableViewStyle*)appDelegate.skin.tableViewStyle]) { 
    //1 if (self = [super initWithStyle:UITableViewStyleGrouped]) { 
    //2 if (self = [super initWithStyle:style]) { 
    } 
    return self; 
} 

2-комментированные линии работают (NO 2 это тот, который поставляется с шаблоном). Я определил свой переменный с помощью перечисления по умолчанию следующим образом:

@interface Skin : NSObject { 
    UITableViewStyle *tableViewStyle; 
} 

@property (nonatomic) UITableViewStyle *tableViewStyle; 

@end 

Однако мой код возврата несовместимого типа ошибки, какие-либо идеи, почему ?!

ответ

2

UITableViewStyle не тип указателя

@interface Skin : NSObject { 
    UITableViewStyle tableViewStyle; 
} 

@property (nonatomic) UITableViewStyle tableViewStyle; 

@end 

И вам не нужно, чтобы бросить его в аргументе к supermethod там. Компилятор должен знать, какой тип он есть.

[super initWithStyle:appDelegate.skin.tableViewStyle] 
Смежные вопросы