Решил я попробовать себя на почве создания приложений под iOS.
Раздобыл книжку по Objective C, принцыпы языка понял, решил попробовать сделать Hello World.
Более менее разобрался с Interface Builder`ом, положил один лейбл на форму, написал приветствие себе же, скомпилировал, отправил на iPod, вроде все так как надо.
Далее по плану в книжке- интерактив, при нажатии на кнопку надо сменить надпись на лейбле. Вот тут и настал ступор. Никак не могу понять, куда надо писать код. К примеру, в старом Turbo Delphi при даблклике по элементу формы открывался редактор, куда складывалась вся логика. Где оно тут? Или хотя бы что-то похожее. В книжке создают класс, перетаскивают туда-сюда всякие штуки, вообщем- написано непонятным для меня языком. Обьясните мне, чайнику, что тут к чему, желательно попроще.
Более менее разобрался с Actions & Outlets.
Теперь новая проблема.
Приложение компилируется и запускается, но при тапе на кнопку получаю почему-то EXC_BAD_ACCESS. Побродил по гуглу, пишут, что обьект выгружен из памяти, а я ему пытаюсь послать сообщение. Проблема же в том, что я ничего руками не выгружаю, и в коде нет ни одного release, только автоматически сгенерированый Xcode'ом @autoreleasepool в main.m. Убирать боюсь (учусь по принцыпу: не знаешь- не трогай), а то хрен его знает, что из этого получится. Что мне делать то, чтобы прога не вылетала? Может перед посылкой сообщений обьект нужно как-то возвращать в память? Поясните чайнику…
Итак, проблема с EXC_BAD_ACCESS решилась переносом логики в ViewController. До этого, по примеру из книжки, был создан отдельный класс, екземпляр которого должен был отвечать за логику программы. Знающих людей попрошу обьяснить, почему возникала ошибка (в книге у автора все сразу работало с вышеописаным вариантом).
Еще в айтюнсе есть свежие стенфордсовские лекции про разработку под иОсь, их стоит хотя бы послушать ради лектора — крайне харизматичный дядька, все понятно и на пальцах объясняет.
Спасибо, особенно радует что бесплатно (вроде бы). Не подскажете, как бы его из под линукса скачать? Под хакинтошем, как я уже говорил, сеть не завелась, а windows ради itunes лень ставить…
У эппла в референсах полно хелло-ворлдов, причем все они всегда будут актуальными. Если честно, то глуповато спрашивать у хабра, не прочитав инструкцию.
Ну вообще MVC подразумевает, что контроль над вьюшкой будет именно у виевконтролера. А так сложно сказать что не так было, выложите ваш код на пастебин или же, например, сюда.