Вопрос новичка. Глядя на массивы (то есть: динамический размер) это работает:
NSArray *array;
array = [NSArray arrayWithObjects:
@"one", @"two", nil];
Это не:
array = [NSArray arrayWithObjects:
1, 2, nil];
Хорошо, я понял. Это работает:
array = [NSArray arrayWithObjects:
[NSNumber numberWithInt:1], [NSNumber numberWithInt:2], nil];
Сорт менее "на лету", как C ++ / Java. Я вижу то же самое с примерами init, которые читаю. Например:
// pseudo objc example
MyVar v = [MyVar init]; // blank
[v setSomething];
[v setSomethingElse];
// use v down here
В C ++ / Java я бы сделал:
MyVar v = new MyVar("foo", "bar", "baz", "quux");
И я знаю, что v готов к работе по умолчанию. Есть ли дух ObjC, с которым я не должен бороться? Должен ли я просто написать больше строк и меньше "однострочников"?