6. лекция №1
• Функционал iPhone, iPad, iPod touch
• Инструменты: Xcode, Interface Builder
• Командный проект в результате
• основы ООП
• Hello HSE!
• Основы Objective-C
7. основы Objective-C
что успели?
• NSObject
• id
• сообщения [object doSomething];
• dot syntax object.someProperty = 2;
• alloc, init Person *me = [[Person alloc] init];
• nil
8. основы Objective-C
что успели?
• статичные (+) и динамические (-) методы
• BOOL
• NSString
• selectors SEL action = @selector(start:);
[object performSelector:action];
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. класс объекта
• [myObject class];
• [myObject className];
• [myObject isKindOfClass:[NSString class]];
20. промежуточный итог
• Класс объекта
• Логи
• NSString, NSMutableString
• NSArray, NSMutableArray
• NSDictionary, NSMutableDictionary
21. что впереди?
• Создание собственного класса
• Жизненный цикл объекта
• Управление памятью
• Свойства в Objective-C
22. стадия дизайна класса
• Создание описания класса - Person
• Определение супер-класса - NSObject
• Какие свойства нужны?
имя, возраст, может ли голосовать
• Какие действия может выполнять?
голосовать
23. Defining a class
A public header and a private implementation
Класс = +
Header File Implementation File
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. реализация
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. вызов собственных
методов
#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