Два вопроса о target-c: ссылка на структуру и «я» в выражении «точка и квадратная скобка» - PullRequest
0 голосов
/ 01 сентября 2011

Я сейчас учусь на iPhone. Сейчас я читаю книгу "Разработка iPhone 4". Во время чтения этой книги меня смущает некоторый синтаксис о target-c, используемый в этой книге. Хорошо, вот мои вопросы:

  • Link Framework v.s. заголовочный файл

В конце главы 7 этой книги упоминается «связать проект с фреймворком». В этой книге он ссылается на проект AudioToolbox.framework. Мне интересно, почему бы просто не добавить заголовочный файл вместо компоновки фреймворка? В чем разница между ссылками на фреймворк и добавлением файла заголовка?

  • "Я" в точке & "[]" выражение

В главе 9 этой книги в примере кода несколько раз используются оператор точки и выражение в квадратных скобках, например: SecondLevelViewController *controller = [controllers objectAtIndex:row]; и SecondLevelViewController *nextController = [self.controllers objectAtIndex:row]; Я думаю, что эти два предложения имеют одинаковую функцию. Так, когда я должен использовать "себя"? Когда нет?

Спасибо, Sam

Ответы [ 2 ]

0 голосов
/ 01 сентября 2011

Когда вы пишете self.outlet = nil, вызывается метод [self setOutlet:nil];.Когда вы пишете outlet = nil;, вы получаете доступ к переменной output напрямую.

, если вы используете @synthesize outlet;, метод setOutlet: генерируется автоматически и освобождает объект перед назначением нового, если вы отклонили свойство как @property (retain) NSObject outlet;.

перенесено с сюда

0 голосов
/ 01 сентября 2011

Среда компоновки, как и в Visual Studio для Windows, сообщает вашему компилятору, где искать библиотеки.

Затем вы добавляете соответствующие вызовы include / import, чтобы компилятор находил ваш класс из импортированной библиотеки в источнике, повышал импорт / включение, проходил и обращался к библиотеке и возвращался (более или менее, он не важно точное поведение).

Вопрос о себе является четким дубликатом, проверьте SO на предмет "target-c self" ...

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