Разница между переменными и свойствами экземпляра Objective-C - PullRequest
0 голосов
/ 01 января 2012

Когда вы делаете

myClass.m
@interface myClass {
   NSMutableArray   *myArray;

}
@end
@implement
.....
.....

Какова цель, когда вы пытаетесь объявить переменную, подобную этой? Как это выглядит иначе, когда вы объявляете

myClass.h
@import "UIKit/UIKit.h"

@interface myClass () <TableViewDataSource>
NSMutableArray *myArray

@end

Спасибо

1 Ответ

0 голосов
/ 01 января 2012

Первый пример - объявление переменной экземпляра.

Второй использует свойство.

Между ними есть различия. Например, при использовании переменной экземпляра вы должны написать свои собственные методы получения / установки. С недвижимостью у вас нет.

Есть больше различий, и здесь можно найти много деталей: Документация по объявленным свойствам


Обновлено с учетом изменений исходного вопроса.

Предполагая, что вы говорите о переменной myArray, в первом примере вы объявили myArray как переменную экземпляра класса. Чтобы получить к нему доступ, вам нужно создать экземпляр класса.

Во втором примере вы объявили его как глобальную переменную, которая по умолчанию имеет область видимости файла. То есть вы можете использовать его в любом файле, который включает заголовок myclass.h, без необходимости создавать экземпляр класса. Однако вы должны быть осторожны при включении его в несколько файлов, иначе вы можете столкнуться с несколькими ошибками определения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...