В примере Apple я видел это:
myController *controller = [viewControllers objectAtIndex:page];
if ((NSNull *)controller == [NSNull null]) {
controller = [[myController alloc] initWithPageNumber:page];
[viewControllers replaceObjectAtIndex:page withObject:controller];
[controller release];
}
Меня очень интересует эта строка:
if ((NSNull *)controller == [NSNull null]) {
Если бы я сделал это, я бы просто проверил нуль. Почему они делают это так чертовски сложно? И что это на самом деле делает? Для меня это похоже на то, что они перебрасывают объект контроллера в NSNull, а затем проверяют, совпадает ли это с NNN.
A.F.A.I.K. nil означает "no object", а null означает "ничего". Пожалуйста, помогите мне получить четкую картину здесь!