Комментарии 19
Замечательно, спасибо.
Маленький *возможно глупый* вопрос: получается, для разработки под iOS подойдет только OS X (т.е. Mac)?
Да, только Mac.
Или мак или хакинтош.
Обязательной есть только ось, железо может быть и не от Apple (хакинтош)
Есть еще winchain, но это изврат.
Наилучший способ — купить Macbook/iMac.
Если нет такой возможности, то можно установить хакинтош, предварительно подобрав под Ваше железо (проц амд/интел, видеокарта АТИ/нвидия, и т.д.), поставить туда XCode, и кодить
Наилучший способ — купить Macbook/iMac.
Если нет такой возможности, то можно установить хакинтош, предварительно подобрав под Ваше железо (проц амд/интел, видеокарта АТИ/нвидия, и т.д.), поставить туда XCode, и кодить
самый дешевый способ обзавестись маком — это купить макмини. Он не дорогой.
Можно использовать кроссплатформенные фреймворки, такие как airplay, unity и т. п.
С их помощью можно разрабатывать, например, под виндой.
С их помощью можно разрабатывать, например, под виндой.
проще всего поставить MacOS на vmware. на трекерах полно готовых образов
Я написал два приложения которые уже в маркете на эмуляторе=) Windows 7->VMWare->Mac OS :)
Главное желание!
Главное желание!
Сеттер все-таки другой синтезируется, что-то типа такого:
- (void) setFoo:(NSObject*)newFoo {
if(foo != newFoo) {
[foo release];
foo = [newFoo retain];
}
}
Согласен, но это сеттер объекта для общего случая.
Если же мы синтезируем вид (например UILabel), используя свойство с retain таким образом:
То @synthesize сгенерирует для нас следующий сеттер
Завтра перепроверю, а то немного засыпаю уже.
Если же мы синтезируем вид (например UILabel), используя свойство с retain таким образом:
@property (retain) IBOutlet UILabel *myLabel
То @synthesize сгенерирует для нас следующий сеттер
- (void)setMyLabel:(UILabel *)anObject
{
[myLabel release];
myLabel = [anObject retain];
}
Завтра перепроверю, а то немного засыпаю уже.
И снова ошиблись. В вашем случае (если свойство объявлено без
Вообще, при написании своих сеттеров никогда не нужно пренебрегать проверкой на равенство сохраненного и переданного указателей. Это может избавить от кучи головной боли.
Ну и, объявлять свойства без
nonatomic
) код еще и будет завернут в @synchronized(self) { ... }
.Вообще, при написании своих сеттеров никогда не нужно пренебрегать проверкой на равенство сохраненного и переданного указателей. Это может избавить от кучи головной боли.
Ну и, объявлять свойства без
nonatomic
нужно только тогда, когда это действительно необходимо.Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Введение в Core Graphics на iOS