Por que estou recebendo um erro para isso?
-
22-08-2019 - |
Pergunta
Por que estou recebendo esses erros? texto alt http://img39.imageshack.us/img39/2203/help.tif
Ele diz:
Erro: pedido de membro "jokeTableView" em algo que não é um struction ou união
O que isso significa? E por que é quebrar. Eu tentei ler sobre initWithStyle mas eu só podia pegar nele
Aqui está o meu arquivo .h:
#import <UIKit/UIKit.h>
@interface TableViewController : UITableViewController {
NSMutableArray *jokes;
IBOutlet UITableView *jokeTableView;
}
@property (nonatomic, retain) NSMutableArray *jokes;
@end
Obrigado!
Solução
Seu objeto (TableViewController) não tem qualquer propriedade chamada jokeTableView.
Para o acesso jokeTableView com o operador ponto especial, ele precisa ser uma propriedade. Caso contrário, você tem que acessá-lo usando Key-Value-Codificação métodos compatíveis ou diretamente usando o operador -> (ou apenas usá-lo como um ivar e nenhuma referência a self):
jokeTableView.delegate = self;
ou
self->jokeTableView.delegate = self;
ou
[self jokeTableView].delegate = self;
ou
@property (retain) UITableView *jokeTableView;
// later...
self.jokeTableView.delegate = self;
Além disso, note, no entanto, que você está definindo uma tomada no inicializador e isso não vai funcionar. Você vai ter que definir isso no -. [TableViewController awakeFromNib] método desde a auto-> jokeTableView será nulo quando o inicializador é realmente chamado (o que acontece no IB antes de serialização o objeto para o arquivo nib)
Outras dicas
Uma vez que você está fazendo isso em tempo de inicialização, as saídas devem ser NULL, então essa inicialização não deve fazer nada. Isto deve ser feito no momento awakeFromNib, no mínimo.