XCode 3.2.1 не показывает содержимое NSMutableArray при отладке? - PullRequest
0 голосов
/ 20 декабря 2009

Я изо всех сил пытаюсь понять, почему следующий код не показывает массив с каким-либо содержимым, когда я отлаживаю в XCode, и все же NSLog четко отображает содержимое, как GDB использует po?

- (IBAction)action: (id)sender {

NSMutableArray *btnTitles = [NSMutableArray arrayWithObject: @"Open in Safari"];
NSLog(@"%@",[btnTitles description]); // in xcode - btnTitles shows 0 elements, nslog shows 1?

if ([MFMailComposeViewController canSendMail]) {
    [btnTitles addObject: @"Email Article"];
}
NSLog(@"%@, %i",[btnTitles description], [btnTitles count]); // in xcode still shows 0 items, nslog shows 2

Я использую Snow Leopard и Xcode 3.2.1 - и сначала я думал, что моя переменная освобождается, однако NSLog и использование GDB, похоже, указывают на то, что все в порядке. Однако, когда я наведите курсор на переменную btnTitles, она показывает - (переменная 0 объектов). Точно так же, если я делаю Open In Window для этой переменной, она имеет заголовок: btnTitles [(null) () - (null)] и показывает переменную, 0 объектов). Еще в консоли я вижу:

2009-12-20 14:29:03.352 MyApp[11125:207] (
    "Open in Safari"
)
2009-12-20 14:29:05.499 MyApp[11125:207] (
    "Open in Safari",
    "Email Article"
), 2

Это поставило меня в тупик - код выглядит так, как будто все должно быть в порядке - я правильно инициализирую переменную (я тоже пытался сделать retain).

Может кто-нибудь заметить, что я делаю неправильно, или это ошибка в новом XCode на Snow Leopard?

Тим

Ответы [ 2 ]

0 голосов
/ 20 декабря 2009

NSArrays являются объектами. Они не должны отображаться как обычные массивы C, содержимое которых вы можете просматривать, просто посмотрев на его начальный адрес памяти.

0 голосов
/ 20 декабря 2009

когда вы пытаетесь показать содержимое массива в GDB, вы уверены, что уже выполнили строки, которые добавляют строки в него?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...