iOS5 SDK - ARC и управление памятью - PullRequest
1 голос
/ 13 января 2012

В) Требуется ли, чтобы все классы интерфейса наследовали от суперкласса? Q) В приведенном ниже коде - из iOS5 в палатах с ARC мне все еще нужно делать (игрок является массивом NSMUtable), если я не ошибаюсь, я считаю, что после ARC нам не нужно вести счетчик ссылок:

// это требуется тогда? Player * player = [[Player alloc] init];

{players = [NSMutableArray arrayWithCapacity:20];
Player *player = [[Player alloc] init];
player.name = @"Bill Evans";
player.game = @"Tic-Tac-Toe";
player.rating = 4;
[players addObject:player];
player = [[Player alloc] init];
player.name = @"Oscar Peterson";
player.game = @"Spin the Bottle";
player.rating = 5;
[players addObject:player];
player = [[Player alloc] init];
player.name = @"Dave Brubeck";
player.game = @"Texas Hold’em Poker";
player.rating = 2;
[players addObject:player];}

Q) каково правило создания подкласса файла интерфейса и файла реализации, т. Е. В java все получено из класса OBject, поэтому мы объявляем NSObject как для классов реализации / интерфейса, так и для его ненужных, и где еще я бы определил это

Q) какое решение рекомендуется A: Player * player = [[Player alloc] init]; ИЛИ ЖЕ B: Player * player = [[Player new]; // разве это незаконно?

В) ARC доступен только в приложениях Mac OS X или также на iOS, т.е. на iphone / touch и т. Д., Или нам все еще нужно вручную управлять памятью?

В) Можно ли применять шаблон синглтона для приложений Objective-c, Cocoa Touch для iPhone?

1 Ответ

1 голос
/ 13 января 2012
  • вам нужно сделать [[Player alloc] init] чтобы создать экземпляр объекта
  • всегда выводит ваши классы из NSObject, если вы не хотите специально наследовать от какого-то другого класса
  • [[Player alloc] init] эквивалентно [Player new], но предпочтительнее первое, так как вы можете легко заменить другой инициализатор, такой как [[Player alloc] initWithName:@"John Doe"]
  • ARC доступен как на iOS, так и на Mac, где его следует использовать вместо сборки мусора, что несколько устарело
  • Не понимаю, почему вы не сможете создавать синглтоны на iOS
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...