Que funciona en OS 2.2.1 pero no en OS 3.0: Error: tipo de descriptor de acceso?
-
21-09-2019 - |
Pregunta
¿Alguien tiene alguna idea de por qué este código produce errores en este OS 3.0 y no OS 2.2.1?
NSUInteger aCount = [serverBrowser.servers count];
Error: tipo de descriptor de acceso no coincide con el tipo de propiedad 'servidores'
ServerBrowser.h es definir a continuación y serverBrowser se sintetiza en .m anteriormente.
#import <Foundation/Foundation.h>
@class ServerBrowserDelegate;
@interface ServerBrowser : NSObject {
NSMutableArray* servers;
id<ServerBrowserDelegate> delegate;
}
@property(nonatomic,readonly) NSArray* servers;
@end
Gracias de antemano por la ayuda. Muy apreciado. Jordan
Solución
Tiene que ver con el hecho de que proporcione la @property
para la matriz servers
como NSArray*
, pero declarar la variable de instancia como un respaldo NSMutableArray*
. El compilador OS 3.0 sólo puede venir con los valores de compilación más estrictas que 2.2.1. Intenta convertir a:
@property(nonatomic,readonly) NSMutableArray *servers;
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow