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

Проектирование кода - Objective-C

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Objective-C Custom Email sender http://www.cyberforum.ru/objective-c/thread776219.html
Приветос, все не могу никак найти примеров, которые отходят от стандартных форм отправки писем с приложений Да, я знаю как сделать так чтобы вводишь в свою форму данные которые нужны, но так и так далее приложение переходит на стандартный экран отправки емейл Каким образом добиться того, чтобы емейл можно было отправлять именно со своей формы, с прикрепленными файлами разных форматов ,и т.д. и...
Objective-C Звук в прложении Здаравствуйте!! Такая проблема: нужно чтобы звук всегда воспроизводился через одно устройство устнановленное в настройках не зависимо от того какое устройство подключается к девайсу.. Подскажите пожалуйста с какой стороны подобраться(( http://www.cyberforum.ru/objective-c/thread771678.html
Программное обеспечение для Objective-C Objective-C
Скажите,какая программа используется для написания кода на Objective-C.
label с разноцветным текстом Objective-C
Привет хочу сделать лейбл с разноцветным текстом, чтоб в каждой строке был разный цвет Лейбл должен быть именно один, потому что он лежит на скролле Думал что можно менять цвет текста и потом initStringwithFormat и далее все текста пихать. есть пример хотя бы с двумя строками разного цвета?
Objective-C Windows+objective-c=love? http://www.cyberforum.ru/objective-c/thread768984.html
Возможно такое? Потому что как язык он мне импонирует, но мака, естественно, у меня нет. Всякие хакОси ставить не хочу. Есть хоть какая-то возможность использовать obj-c на окнах? Помогите, а то еще одим молодой ум попадет в цепкие лапы C#!
Objective-C Работа с веб-сервисами Часто в вакансиях ios developer встречаю графу по опыту работы с веб-сервисами. Подскажите, что под этим понимается? Входит ли парсинг XML JSON в этот критерий? Если есть примеры работы - дайте плз посмотреть или скиньте ссылку на свободные проекты по данной теме. Какие библиотеки используются для данной работы - RESTKit, AFNetworking, какие есть ещё и какие использовать лучше? Спасибо подробнее

Показать сообщение отдельно
Vorona
Peace 2 all shining faces
666 / 528 / 45
Регистрация: 05.03.2010
Сообщений: 1,271
31.01.2013, 22:37     Проектирование кода
ну на самом деле, можно и проще сделать
Есть класс MyClass, за которым будет следить SomeOtherClass.
Для этого мы создаем протокол делегата и имплеменируем его в SomeOtherClass.
На моей практике это самый распространенный способ делегирования.
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
// *** MyClass.h ***
 
@protocol MyClassDelegate;
 
@class MyClass <NSObject>
 
@property (nonatomic, assign) id<MyClassDelegate> delegate;
@property (nonatomic, retain) NSString *name;
 
@end
 
 
@protocol MyClassDelegate
 
@required
- (void)myClassDidSomething:(MyClass *)myClass;
 
@end
 
 
// *** MyClass.m ***
 
#import "MyClass.h"
 
@interface MyClass()
 
- (void)doSomething;
 
@end
 
 
@implementation MyClass
 
@synthesize delegate;
 
- (void)doSomething
{
    if ([self.delegate respondsToSelector:@selector(myClassDidSomething:)])
    {
        [self.delegate myClassDidSomething:self];
    }
}
 
- (void)dealloc
{
    self.delegate = nil;
    self.name = nil;
    [super dealloc];
}
 
@end
 
// *** SomeOtherClass.m ***
 
#import "MyClass.h"
 
@interface MyClass()
 
@property (nonatomic, retain) MyClass *myClass;
 
@end
 
 
@implementation SomeOtherClass <MyClassDelegate>
 
- (id)init
{
    self = [super init];
    if (self) 
    {
        self.myClass = [[[MyClass alloc] init] autorelease];
        self.myClass.name = @"My Cool Class!";
        self.myClass.delegate = self;
    }
    return self;
}
 
#pragma mark - MyClassDelegate implementation
 
- (void)myClassDidSomething:(MyClass *)_myClass
{
    NSLog([NSString stringWithFormat:@"MyClass instance with name: %@ did something!", _myClass.name]);
}
 
#pragma mark -
 
- (void)dealloc
{
    self.myClass = nil;
    [super dealloc];
}
 
@end
Блоки - вещь классная и со своими особенностями, но используются как-то намного реже, чаще удобней читать код с делегированием вместо блоков, хотя в таких библиотеках, как AFNetworking чаще можно встретить блоки и там они более актуальны, вприниципе это дело условное, как команда договорится, так и пишут.

Нотификейшн центры как-то не очень прижились, но очень актуальны при отловки событий AppDelegatе'а, но создавать свои как-то и не приходилось
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru