четверг, 9 июня 2011 г.

IBOutlet. Инструкция по применению. Эпизод 2

С год назад я написал заметку «IBOutlet. Инструкция по применению», где рассмотрел вариации работы с IBOutlet'ами. Однако спустя чуть больше, чем полгода, эта статья кажется мне неполной. А потому вторым эпизодом хочу внести в нее необходимые дополнения.

Итак, поехали. Если помните, итоговый вариант, к которому я привел вас в той статье был:

    @interface MyClass: NSObject
    {
        UIView *_smth;
    }
    @property (nonatomic, retain) IBOutlet UIView* smth;
    ...

    @implementation
    @synthesize smth = _smth;
    ...

Так вот, в случае современной разработки этот вариант не является лучшим. Что я имею ввиду?!

пятница, 26 ноября 2010 г.

Лучший текст заманухи в моей жизни.

Я не так часто и не так много получаю спама (тьфу-тьфу-тьфу и три раза по деревяшке, чтоб не накаркать) на мой электронный ящик. Потому периодически просматриваю, чего там творится. К тому же «интеллектуальные» сервисы порой имеют гадкую привычку отправлять в спам нормальные письма (редко, но бывает). В общем, поглядываю я туда, поглядываю...

Вот и недавно полез в «остойник», как я его называю, и обнаружил там — о, чудо! — очередной развод. Но в этот раз сей факт вызвал у меня даже какое-то подобие восхищения.

пятница, 22 октября 2010 г.

IBOutlet. Инструкция по применению.

На первых порах изучения программирования под iPhone (и чтения соответствующих мануалов), часто встает вопрос, где использовать ключевое слово IBOutlet — при объявлении переменной (способ 1) или при объявлении свойства (способ 2). То есть так:

    @interface MyClass: NSObject {     // способ 1
        IBOutlet UIView *smth; 
    }

или так:

    @interface MyClass: NSObject {     // способ 2
        UIView *smth;
    }
    @property (nonatomic, retain) IBOutlet UIView* smth;

На самом деле тут все просто. Можно использовать оба подхода. Они имеют следующие различия.