Новое в ObjC, пришло из AppleScript Studio и не понимает некоторые вещи - PullRequest
0 голосов
/ 18 февраля 2010

Да, я видел подобные вопросы раньше, но они все для людей, которые в основном хотят начать с нуля. Я из AppleScript Studio (для тех, кто этого не знает, это AppleScript в Xcode с IB и т. Д.). Единственные вещи, которые new для меня, связаны с интерфейсом и файлами реализации. В моем коде я уже написал более 2000 строк ObjC, так что это не синтаксис. Но я не понимаю наследования, доступа к переменным из других файлов классов и т. Д. То, как я использую ObjC, - это наличие одного NSObject в IB, его класс был изменен на что-то новое для меня, а затем весь мой код написан в одном файле реализации , Моя самая большая проблема - выяснить, как получить доступ к параметрам из других классов.

Так есть ли у кого-нибудь из вас советы о том, с чего начать? Обычно я начинаю с нуля с книги, но я вполне могу писать код, если он находится в одном большом файле ...

Спасибо за вашу помощь.

Ответы [ 4 ]

2 голосов
/ 18 февраля 2010

Мне очень повезло с этими уроками Cocoa Dev Central, и они короткие и достаточно хорошо организованы, чтобы вы могли пропустить любые части, которые, по вашему мнению, вы уже знаете.

  1. http://cocoadevcentral.com/articles/000081.php (C)
  2. http://cocoadevcentral.com/d/learn_objectivec/ (Obj-C)
  3. http://cocoadevcentral.com/d/learn_cocoa/ (часть какао 1)
  4. http://cocoadevcentral.com/d/learn_cocoa_two/ (часть какао 2)
  5. http://cocoadevcentral.com/articles/000082.php (часть стиля 1)
  6. http://cocoadevcentral.com/articles/000083.php (часть стиля2)

Для меня это звучит так, как будто вы, возможно, пропустили первый (C), но это не помешало бы просмотреть его.Второй (Obj-C, особенно Часть 5, Разработка интерфейса класса и далее) - это то, где лежат ответы на ваши непосредственные вопросы.Удачи!

1 голос
/ 19 февраля 2010

Хотя вы понимаете Интерфейсный Разработчик, очень ясно, что вы не очень хорошо понимаете Objective-C или Какао. Вы должны перестать болтаться и дать себе прочную основу в языке и основах. Единственный способ сделать это правильно - начать с самого начала.

Вы должны начать с правильного изучения Objective-C. На мой взгляд, лучший способ это прочитать превосходное Стивена Кочана Программирование в Objective-C 2.0 . Это научит вас, как правильно писать Objective-C и объяснит объектно-ориентированное кодирование, наследование классов и так далее. Вы должны прочитать обложку книги и выполнить все упражнения.

Затем вам следует прочитать Aaron Hillegass ' Программирование какао для Mac OS X , которое научит вас брать Objective-C и объединять его с Interface Builder и средами Cocoa для создания рабочих приложений Cocoa.

Вам также следует прочитать Шаблоны проектирования Какао , которые объяснят, что такое шаблоны проектирования в Какао и как использовать их в своих интересах для правильного написания приложений Какао.

1 голос
/ 18 февраля 2010

Я могу сослаться на вашу путаницу в этих конкретных аспектах кодирования Objective-C. Нотация, используемая для передачи аргументов и доступа к атрибутам объекта, существенно отличается от других сред типа C. Создание свойств вашего объекта с помощью директивы @synthesize (если применимо) может иметь большое значение для обеспечения согласованного поведения. Также следует помнить, что Obj-C использует ключевое слово «super» для доступа к базовым объектам вместо «base».

Когда я впервые изучал Obj-C, я узнал из этого руководства по Apress и почувствовал, что это полезный переход от фона C / Java к пониманию синтаксиса Obj-C и модели объект / наследования.

0 голосов
/ 18 февраля 2010

Я бы предположил, что ваша «проблема» не имеет ничего общего с Objective-C и не имеет ничего общего с объектно-ориентированным дизайном. Я бы получил хорошую ОО книгу, такую ​​как Шаблоны проектирования (Gamma и др.), Построение объектно-ориентированного программного обеспечения (Мейер) и т. Д. Я бы предложил не использовать Objective-C для этой части вашего образования (используйте Java), потому что вы легко спутаете дизайн программного обеспечения с изучением фреймворков Cocoa (и других). Как только вы разберетесь в этом, вы сможете изучить, как применять в target-C, как в инфраструктуре Cocoa используются объектно-ориентированные методы и т. Д.

И наслаждайтесь!

PS: возможность писать код не является вашей целью, особенно если код находится в одном большом файле.

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