Objective-C


12 0

Сегодня попробовал написать свою первую программу на Objective-C для iPhone. Надо немного потренироваться с языком и основами перед курсами. Курсы будут всего три дня, и не думаю, что кто-то будет нас учить с самых нулей до самого сложного.

Среда разработки X-Code стоит у меня уже пару недель, но дальше запуска дело не уходило. Я только запускал его и ни разу даже не пытался создавать проект. Создал новый проект и смотрю на рабочий стол, а совершенно не могу понять, а что же дальше. Ну, думаю, без бутылки здесь точно не разобраться.

Вчера зашел на сайт для разработчиков Apple, открыл документ для начинающих, в котором рассказывается, как создать свое первое приложение Hallo World для iPhone и начал повторять все шаги.

Да, Objective-C – это совершенно другой мир и совершенно другой язык, который никак не связан с классическими С/С++. Как я понял, для компиляции программ в X-Code используется GNU компилятор. И вот тут возникает вопрос – а где еще используется Objective-C? Используют ли его в Linux? Я просто никогда не интересовался этим вопросом и реально не знаю. Но если это GNU компилятор, то мне кажется, он должен уметь компилировать код под Linux или BSD.

Судя по всему, придется покупать книженцию по Objective-C и изучать новый язык. На первый взгляд он какой-то долбанутый. Пример рисования банальной строчки Hello World на экране:

- (void)drawRect:(CGRect)rect {
    NSString *hello = @"Hello world";
    CGPoint point = CGPointMake(10, 20);
    UIFont *font = [UIFont systemFontOfSize:24.0];
    [[UIColor whiteColor] set];
    [hello drawAtPoint:point withFont:font];
}

Очень не привычно.


Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым


Комментарии

brevis

02 Октября 2011

По-моему, пример рисования -- это не совсем "Hello world". Как водится, "Hello world" -- это что-то проще: вывести строку в консоль или в Interface Builder'е перетащить на форму UILabel и прописать ей в свойство Text "Hello world"... Но это ж Apple -- у них всё по другому :-)

А язык, конечно, долбанутый на первый взгляд. Сразу режет глаза синтаксис "посылки сообщений" ([bla-bla-bla]) и ± перед методами.
Но жить с ним можно.


CrackCoder

02 Октября 2011

Михаил глянув на написанный вами код objectiv-c у меня уже появилось отвращение к этому языку:) Хотя мне говорили, что он очень похож на классический Cи.


Виталий Луговой

02 Октября 2011

Да.. судя по коду мне тоже кажется что он слишком странный и я тоже кстати не разу даже не начинал на нём писать или разбиратся, но говорят что те кто только вот начинает учить программирование причём классический С С++ у них нечего не выходит, а потом переходят на Objective-C и не то чтобы профессионалы можно сказать даже эксперты сам не видел но много наслышан от надёжных источников...


Михаил Фленов

02 Октября 2011

Это достаточно простой пример, просто он использует графический режим:
1 задать строку
2 задать точку вывода
3 задать шрифт
4 задать цвет
5 вывести результат

Язык больше похож на просто человеческий, а не программирования


Руслан Даутхаджиев

02 Октября 2011

Михаил, вот хорошая книга для изучения ObJective-C основ: BecomeAnXCoder. Есть с переводом на русский.

Пример вывода на экран:

int main()
{
NSLog(@"Здравствуй, мир!");
return 0;
}


Анатолий

02 Октября 2011

Все же, от книжки...:)


Илья

02 Октября 2011

Какой это язык по счету для тебя??

Как учил предыдущие??


Михаил Фленов

02 Октября 2011

уже наверно 7-й. Всегда учу тем, что пишу для себя что-то


оО

02 Октября 2011

Руслан - NSLog  вывод не на экран а в ЛОГ )
Если в книге был такой пример - найдите автора и проломите ему череп.

Михаил - Пример да долбанутый. Но язык на самом деле очень интересный, стоит лишь чуть глубже взглянуть и уйти от такий примеров. Он не то что бы похож на простой человеческий, но на первых парах возникает ощущение что язык понимает что ты хочешь сделать а не что ты ввел) Потом конечно начинаешь понимать что его логика просто гораздо человечнее чем у тех же СИ СИ++.

И да по собственным ощущениям и из обсуждения с товарищами он "проще" СИ++. Правда ровно до тех пор пока не начнешь писать что то выходяшее за рамки баловства.


Руслан Даутхаджиев

03 Октября 2011

оО, так и сделаю)) Все же это пример попроще в плане вывода сообщений. А так, на самом деле Apple любит выделяться всякими "извращениями". В упомянутой книге функция NSLog рассматривается как функция вывода на экран. Пункт так и называется "Вывод сообщений на экран".
Описание функции:
"Функция NSLog() изначально была разработана для отображения ошибок, а не для
вывода результатов работы программы. Но из-за простоты использования, мы
адаптировали ее в этой книге для отображения результатов".
Возможно, не стоит ее так "адаптировать".


niello

05 Октября 2011

Здравствуйте Михаил.
Вот вы используете Objective-С, а как относитесь к выходу Delphi XE2?


Михаил Фленов

05 Октября 2011

Я никак не отношусь к Delphi XE2 и почему-то обратно не тянет. Меня вполне устраивают C# и PHP. Может еще Objective-C затянет, пока не знаю


Добавить Комментарий

Еще что-нибудь

Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне