Работает в OS 2.2.1, но не в OS 3.0: Ошибка: тип доступа? - PullRequest
0 голосов
/ 13 октября 2009

Кто-нибудь знает, почему этот код выдает эти ошибки в ОС 3.0, а не в ОС 2.2.1?

NSUInteger aCount = [serverBrowser.servers count];  

ошибка: тип средства доступа не соответствует типу свойства 'Servers'

ServerBrowser.h определен ниже, а serverBrowser синтезирован в .m выше.

#import <Foundation/Foundation.h>

    @class ServerBrowserDelegate;

    @interface ServerBrowser : NSObject {
      NSMutableArray* servers;
      id<ServerBrowserDelegate> delegate;
    }

    @property(nonatomic,readonly) NSArray* servers;


    @end

Заранее спасибо за помощь. Очень признателен. Иордания

1 Ответ

0 голосов
/ 13 октября 2009

Это связано с тем, что вы предоставляете @property для массива servers как NSArray*, но объявляете переменную резервного копирования как NSMutableArray*. Компилятор OS 3.0 может просто прийти с более строгими настройками компилятора, чем 2.2.1. Попробуйте преобразовать в:

@property(nonatomic,readonly) NSMutableArray *servers;
...