2-е занятие курса iPhone разработки в ГУ-ВШЭ

490 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
490
On SlideShare
0
From Embeds
0
Number of Embeds
345
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

2-е занятие курса iPhone разработки в ГУ-ВШЭ

  1. 1. Разработка приложений для iPhone и iPad занятие #2
  2. 2. домашнее задание?
  3. 3. iOS
  4. 4. The Future of the Book
  5. 5. «Программисты на Атлантиде»
  6. 6. лекция №1 • Функционал iPhone, iPad, iPod touch • Инструменты: Xcode, Interface Builder • Командный проект в результате • основы ООП • Hello HSE! • Основы Objective-C
  7. 7. основы Objective-C что успели? • NSObject • id • сообщения [object doSomething]; • dot syntax object.someProperty = 2; • alloc, init Person *me = [[Person alloc] init]; • nil
  8. 8. основы Objective-C что успели? • статичные (+) и динамические (-) методы • BOOL • NSString • selectors SEL action = @selector(start:); [object performSelector:action];
  9. 9. основы Objective-C продолжение
  10. 10. самые основы • +-/* • цельное деление % • a = b; • a == b, a != b, a>b, a<b • i++, i-- • if (true) { } else {} • for (int i = 0; i<=3; i++), for (NSObject* obj in stack)
  11. 11. класс объекта • [myObject class]; • [myObject className]; • [myObject isKindOfClass:[NSString class]];
  12. 12. логирование • NSLog(@’’Hi there!’’); • NSLog(@’‘The row number %d’’, rowNumber);
  13. 13. NSString • Unicode • @’‘Some string’’ • [NSString stringWithFormat:@’‘It’s %d’’, number]; • [string stringByAppendingString:anotherString]; • [string stringByAppendingFormat: • [string intValue]; [string doubleValue];
  14. 14. format?
  15. 15. NSMutableString • редактируемая строка • appendString: • appendFormat: • insertString:atIndex:
  16. 16. NSArray • массив объектов • count • objectAtIndex: • +arrayWithObjects: , , ,nil • indexOfObject:
  17. 17. NSMutableArray • addObject: • removeObject: • insertObject:AtIndex:
  18. 18. NSDictionary • objectForKey • count • + dictionaryWithObject:forKey: • + dictionaryWithObjects:forKeys: • allKeys • allValues
  19. 19. NSMutableDictionary • setObject:forKey: • removeObjectForKey:
  20. 20. промежуточный итог • Класс объекта • Логи • NSString, NSMutableString • NSArray, NSMutableArray • NSDictionary, NSMutableDictionary
  21. 21. что впереди? • Создание собственного класса • Жизненный цикл объекта • Управление памятью • Свойства в Objective-C
  22. 22. стадия дизайна класса • Создание описания класса - Person • Определение супер-класса - NSObject • Какие свойства нужны? имя, возраст, может ли голосовать • Какие действия может выполнять? голосовать
  23. 23. Defining a class A public header and a private implementation Класс = + Header File Implementation File
  24. 24. заголовок header and a A public Definin #import <Foundation/Foundation.h> @interface Person : NSObject { // переменные объекта NSString *name; int age; } // объявление методов - (NSString *)name; Header File - (void)setName:(NSString *)value; - (int)age; - (void)setAge:(int)age; - (BOOL)canLegallyVote; - (void)castBallot; @end
  25. 25. реализация Defining a class A public header and a private implementa #import "Person.h" @implementation Person - (int)age { return age; } - (void)setAge:(int)value {Header File Implementation File age = value; } //... и остальные методы @end
  26. 26. вызов собственных методов #import "Person.h" @implementation Person - (BOOL)canLegallyVote { return ([self age] >= 18); } - (void)castBallot { if ([self canLegallyVote]) { // голосование } else { NSLog (@“I’m not allowed to vote!”); } @end
  27. 27. http://empatika.com oleg.parinov@empatika.com

×