dronby, там проверка на существование объекта (типа на nil), которая идет после приравнивания "=" - ведь пишется не "==".
dronby, там проверка на существование объекта (типа на nil), которая идет после приравнивания "=" - ведь пишется не "==".
Advanced User:dronby, там проверка на существование объекта (типа на nil), которая идет после приравнивания "=" - ведь пишется не "==".
проверка на существование объекта (типа на nil) - это самая первая и очевидная вещь, которая там происходит
Если self == nil, после self = [super init] то тут все ясно, сразу конец.
Вопрос был, насколько я понимаю: нафига присваивать self значение [super init] ? :
разве при вызове инит у супер класса указатель на себя уже не будет проинициализирован?
Cтанет яснее, если переписать этот же код в улучшенном виде:
- (id)init;
{
self = [super init]; // <- вопрос и ответ были про эту часть
if (!self) return nil; // а не про эту
// все ok, инициализируемся тут
...
//
return self;
}
если бы была цель проверить на nil то можно было бы просто писать
if (([super init])){
....
}
офлайн
eddie_murphy
Apple Team
|
|
5048 |
18 лет на сайте Город:
|
насколько я понимаю, технически self = self ничего не изменяет, тут вопрос, видимо, скорее эппловского стиля
то есть if ([super init]) не очевидно, что проверяется, ведь функция возвращает ссылку на объект, а не код ошибки или булеан, и выглядит так, как будто ссылка уходит "в воздух"
вот такое имхо пришло на ум
Да таго ж ніхто не забараняе вярнуць спасылку не на сябе, як было сказана ў прыкладзе з singleton'ам. У выпадку нашчадку ад NSObject гэта проста для аднастайнасьці, бо ён ніколі так ня робіць (пакуль, як мінімум). А калі ад чаго больш складанага, то тым больш ня ведаеш што там робіцца за тваёю спіною.
Той жа ж NSNumber. Канструктар можа вярнуць аб'ект сьпецыялізаванага нашчадку. Так выклік [[NSNumber alloc] initWithBool: YES] верне аб'ект клясу NSCFBoolean. Таму запіс кшталту
NSNumber* a = [NSNumber alloc];
[a initWithBool: YES];
будзе памылкай.
parazitus, стабы - универсальные объекты не имеющие отношения к нужному классу.
Что-то в NSObject Class Reference нет ни слова о каких-то стабах.
alloc
Returns a new instance of the receiving class.
А объявления "требуется" писать можно?
Нужен толковый разработчик в iOS в помощь. Необходимо удаленно написать несколько библиотек под iPhone/iPod touch. Коммуникация (TCP/XML/SSL) и UI теплейты. Примерно в таком ключе. Стучитесь в личку.
народ хочу начать програмить под айфон айфон 3гс и макбук про имеються кто может помочь начать с чегото ! с приложения ккого нить.. хкоде скачал не много понял но хочу чтоб кто нибудь пом:znaika:ог )
DessorчеГГГ,
никто Вам не поможет, кроме Вас самого. Дерзайте, ройте землю носом, и у Вас все получится. Или не дерзайте, и тогда Вы быстро поймете, что это просто порыв, мимолетная мечта "срубить свой миллион за дудлджамп" и это не для Вас
Tomm, хДД ) не миллион срубить точно не получиться ) ну вот уже первое говноводистое говно приложение появилось на свет )
за 2 часа пользованием xcoda )
parazitus:Что-то в NSObject Class Reference нет ни слова о каких-то стабах.
alloc
Returns a new instance of the receiving class.
Это как про сусликов в ДМБ. Их не видно, а они есть.
alloc для многих объектов возвращает стаб - непроинициализированный объект общего типа - Placeholder. Только после init получается нормальный инстанс.
Эволюция примерно такая:
(nil) --alloc--> NSPlaceholderString --init--> NSCFString
(nil) --alloc--> NSPlaceholderNumber --init--> NSCFNumber
Подскажите, кто что думает по следующему:
К примеру разработана билиотека для разработчиков (следовательно для встраивания в свои "яблочные продукты") и выставлена на продажу, за использование в своих продуктах. Как я понимаю, продажа ПО будет приравниваться к предпринимательской деятельности и следовательно надо открывать как минимум ЧУП, но с другой стороны я являясь автором данной библиотеки, фактически получаю вознагрождение (роялти) за ее использование и тут уже не предпринимательская деятельность (как в случае с продажей в AppStore). В чем отличия, где грань, кто что думает? Имел ли кто дело с продажей своих библиотек?
Eowaos, здесь вопрос только в том, что будет написано в договоре. Напишешь роялти - будет роялти.
Advanced User, т.е. при продаже непосредственно покупателю (разработчику) своей библиотеки, достаточно будет составить договор не о продаже, а о получении роялти с его стороны? В этом варианте могут быть, наверное, какие-то подводные камни, вроде не заключения между физ. лицами таких договоров, либо регистрации продукта и себя в каком бюро как автора или нет? Что-то по этому поводу и найти по нашей стране ничего не могу.
Eowaos, сходи в МНС проконсультируйся - не съедят и бесплатно Есть вариант стать ИП и войти в ПВТ (да таких тоже берут, хотя и не просто), но смысла не особо, т.к. суммарный налог там все равно 10% получится. В случае роялти от Эппла частному лицу получается 9,6%.
офлайн
old.pepper.pot
Neophyte Poster
|
|
12 |
14 лет на сайте Город:
|