Funciona no OS 2.2.1, mas não no OS 3.0: Erro: tipo de acessador?
-
21-09-2019 - |
Pergunta
Alguém tem alguma ideia de por que esse código produz esses erros no OS 3.0 e não no OS 2.2.1?
NSUInteger aCount = [serverBrowser.servers count];
Erro: o tipo de acessador não corresponde ao tipo de propriedade 'servidores'
ServerBrowser.h é definido abaixo e o ServerBrowser é sintetizado em .m acima.
#import <Foundation/Foundation.h>
@class ServerBrowserDelegate;
@interface ServerBrowser : NSObject {
NSMutableArray* servers;
id<ServerBrowserDelegate> delegate;
}
@property(nonatomic,readonly) NSArray* servers;
@end
Obrigado antecipadamente pela ajuda. Muito apreciado. Jordânia
Solução
Tem a ver com o fato de você fornecer o @property
para o servers
Array como um NSArray*
, mas declare a variável da instância de apoio como um NSMutableArray*
. O compilador OS 3.0 pode vir apenas com configurações mais rigorosas do compilador do que 2.2.1. Tente se converter para:
@property(nonatomic,readonly) NSMutableArray *servers;
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow