Форум программистов, компьютерный форум CyberForum.ru

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
CradleOfLife
0 / 0 / 0
Регистрация: 19.06.2013
Сообщений: 7
#1

Помощь в освоение - Программирование iOS/iPhone

19.06.2013, 23:53. Просмотров 848. Ответов 7
Метки нет (Все метки)

Вообщем ситуация следующая, есть большое желание заниматься разработкой приложений под мобильные устройства, начать решил с ios, но возникли трудности:
1) с чего начать (на данный момент обладаю знаниями pascal, немного с++), стоит ли что - то освоить до перехода на objective c, если да то что? по какой литературе?
вопросы про objective c
2) какая литература на русском вообще существует? я видел только "Пайлон - программируем для iphone и ipad"
3) если с литературой вообще плохо может какие - то видео курсы нормальные есть?
4) если из пункта 2 и 3 ничего нет, киньте (посоветуйте) что -нибудь попроще в плане понимания и перевода.
Заранее благодарен за любую помощь
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2013, 23:53     Помощь в освоение
Посмотрите здесь:

освоение основ C++
Освоение ООП PHP ООП
Освоение 1с 1С
Освоение фотошопа Photoshop
Objective-C Помощь с отпарсиной информацией
Помощь по классам Objective-C
Помощь по API! Objective-C
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
noname_club
 Аватар для noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 577
20.06.2013, 07:37     Помощь в освоение #2
начни с википедии

http://ru.wikipedia.org/wiki/Objective-C

Objective-C по-началу вызывает недоумение ибо у него есть своя "терминология", которая отличается от других ЯП

по типу

метод это "селектор"
callback объект это "делегат"
абстрактный класс это "протокол" и прочее
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
20.06.2013, 10:10     Помощь в освоение #3
метод это "селектор"
callback объект это "делегат"
абстрактный класс это "протокол" и прочее
И все 3 высказывания - чушь, это ж надо настолько проколоться xD

Не по теме:

P.S.
Спасибо, поржал.

noname_club
 Аватар для noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 577
20.06.2013, 12:06     Помощь в освоение #4
И все 3 высказывания - чушь, это ж надо настолько проколоться xD
метод это "селектор"

селекторы в Objective-C используются для передачи методов в параметрах функции

например

Objective-C
1
2
3
4
5
6
7
8
9
10
-(void) runObjectEvent: (id) object
                     selector: (SEL) selector {
  NSLog(@"пользовательский вызов метода через переданный селектор");
  [object performSelector: selector];
}
 
//
 
 
[self runObjectEvent: _myobject selector: @selector(mymethod)];
и это просто один из самых важнейших аспектов Objective-C, который позволяет писать объекты которые управляют другими объектами посредством "делегирования"

так что селектор можно частично отнести к методам, так как он указывает на него




callback объект это "делегат"

Делегирование это, как выше указано, управление объектами через селекторы

то есть какомуто объекту указываем его объект управления,

объект управления, по сути является callback объектом так как на него идут все вызовы и он их все обрабатывает

и далее просто вызываем методы другого его через селекторы

имеено так работают все вызовы по протоколам UITextViewDelegate UIScrollViewDelegate и тп

через простую конструкцию

Objective-C
1
2
3
if ([_delegate respondsToSelector:_selector]) {
        [_delegate performSelector:_selector withObject:self];
}




абстрактный класс это "протокол"

думаю тут объяснения не требуются иди на Wiki и почитай что такое "протокол"
Vorona
Peace 2 all shining faces
 Аватар для Vorona
662 / 524 / 44
Регистрация: 05.03.2010
Сообщений: 1,271
21.06.2013, 01:29     Помощь в освоение #5
Цитата Сообщение от noname_club Посмотреть сообщение
абстрактный класс это "протокол"
эмм, думаю вы знаете разницу между абстрактным классом и интерфейсом?
отвечу за вас – нет.

В абстрактном классе вы можете отпределять методы, можете хранить переменные-члены класса, да и от абстрактного класса можно наследоваться только раз (ну не считая C++), да и еще куча всего
итак, теперь проведите параллель между абстрактным классом и протоколом. видите что-то общее?
монолог продолжается – нет.
протоколы подобны интерфейсам в Java, C#, traits в Scala и т.д. в других статически-типизированных языках

насчет делегирования – это обычный паттерн ооп, о котором можно почитать где угодно, присущ он разным языкам. да он отличается от ключевого слова delegate в C#, но не более.

насчет методов, в Objective-C методы так и остались методами, просто механизм их вызова называется по-разному, да и работает тоже тут вы посылаете сообщение объекту, если в других языках просто вызываете метод, и, естественно, разница в том, что происходит если объект не определяет вызванный метод
noname_club
 Аватар для noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 577
21.06.2013, 09:21     Помощь в освоение #6
хорошо

http://ru.wikipedia.org/wiki/Шаблон_делегирования

Добавлено через 17 минут
значит я ошибся
интерфейс это "протокол"

но сути это меняет, ибо терминология Obj-C в данном случае все равно вводит "новичка" в заблуждение и не дает найти верное определение поведения протокола как интерфейса
Vorona
Peace 2 all shining faces
 Аватар для Vorona
662 / 524 / 44
Регистрация: 05.03.2010
Сообщений: 1,271
21.06.2013, 12:39     Помощь в освоение #7
да, и, кстати, в Objective-C вообще отсутствует понятие абстрактного класса
и понятие protected свойств и методов, что иногда очень нехватает после Java (

парень только паскаль знает и С++ немного, не думаю, что возникнут трудности при изучении Objective-C

а насчет источников изучения – тема ужасно заезженная
http://developer.apple.com/library/m...roduction.html
http://developer.apple.com/library/ios/navigation/

там есть все
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.06.2013, 21:29     Помощь в освоение
Еще ссылки по теме:

Освоение CISCO Cisco
Помощь новичку
Освоение графики TP Turbo Pascal
C++ Освоение С++
Освоение Machine_Learning Python

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
vladpap
Сообщений: n/a
22.06.2013, 21:29     Помощь в освоение #8
iPhone Application Development Stanford University
Yandex
Объявления
22.06.2013, 21:29     Помощь в освоение
Ответ Создать тему
Опции темы

Текущее время: 04:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru