Большим плюсом NSLog'а является возможность следить за состоянием программы без использования точек останова. Но не всегда информации предоставляемой этой функцией достаточно. Стандартный вывод NSLog() такой:
<дата> <время> <имя_приложения> [<pid>] то, что выдаст NSLog
А хотелось бы чтобы в этой информации присутствовали как минимум имя исходного файла и номер строки. Кроме того было-бы желательно иметь возможность сохранять лог в файл.
Вариант для решения данной задачи и является нижеприведенный класс.
24 июня 2010 г.
23 июня 2010 г.
Singleton в Objective-c
Для создания синглтона Cocoa Fundamentals Guide предлагает:
- Создать статическую переменную типа синглтона и проинициализировать ее nil.
- В методе-фабрике класса создать экземпляр класса и присвоить его статической переменной.
- Переопределить метод allocWithZone: чтобы удостоверится что никто кроме класса - фабрики не сможет создать экземпляр класса.
- Реализовать методы copyWithZone:, release, retain, retainCount и autorelease (последние четыре не нужны при использования сборщика мусора).
22 июня 2010 г.
Использование UIView в Cocos2D
Как бы ни был хорош Cocos2d для написания игр для iPhone, но когда возникает необходимость добавить какой-нибудь стандартный вид (например MFMailComposeViewController для отправки электронной почты) начинаются пляски с бубном.
После продолжительного гугления было найдено простое и элегантное решение.
Класс CCUIViewWrapper, состоящий из 100 строк кода позволяет заворачивать в себя стандартные UIKit'овские элементы и работать с ними как с обычными слоями. Например, все что нужно для вызова окна отправки почты:
MFMailComposeViewController *picker = [MFMailComposeViewController alloc];
[picker init];
picker.mailComposeDelegate = self;
// инициализация e-mail тут
CCUIViewWrapper *wrapper = [CCUIViewWrapper wrapperForUIView:picker.view];
[self addChild:wrapper];
Подписаться на:
Сообщения (Atom)