Fonctionne sous Mac OS 2.2.1 mais pas dans OS 3.0: Erreur: type de accesseur?
-
21-09-2019 - |
Question
Quelqu'un at-il une idée pourquoi ce code produit cette erreur dans OS 3.0 et non OS 2.2.1?
NSUInteger aCount = [serverBrowser.servers count];
erreur: type de accesseur ne correspond pas au type de « serveurs » propriété
ServerBrowser.h est définie ci-dessous et serverBrowser est synthétisé dans .m ci-dessus.
#import <Foundation/Foundation.h>
@class ServerBrowserDelegate;
@interface ServerBrowser : NSObject {
NSMutableArray* servers;
id<ServerBrowserDelegate> delegate;
}
@property(nonatomic,readonly) NSArray* servers;
@end
Merci d'avance pour l'aide. Très appréciée. Jordanie
La solution
Il a à voir avec le fait que vous fournissez le @property
pour le tableau de servers
comme NSArray*
, mais déclarer la variable d'instance de support en tant NSMutableArray*
. Le compilateur OS 3.0 peut simplement venir avec les paramètres du compilateur plus strictes que 2.2.1. Essayez de convertir à:
@property(nonatomic,readonly) NSMutableArray *servers;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow