2013-10-13 3 views
0

Я пытаюсь отладить проблему, связанную с NSArray. Я получаю исключение:Исключение при создании NSArray

EXC_BAD_ACCESS (код = EXC_1386_GPFLT) на этой линии:

NSArray *items = [[NSArray alloc] initWithObjects:@"A", "B", "C", nil]; 

Этот код находится внутри - (ID) initWithFrame: (NSRect) кадр внутри NSView.

Что вызывает у меня это исключение? У меня есть исключение Google-d, и я не нашел никого, кто его получит.

Этот проект предназначен для OS X, а не для iOS.

ответ

5

Первый аргумент, который вы передаете initWithObjects:, является объектом (это экземпляр NSString), но следующие два не являются. Нельзя вставлять типы объектов без объектов в коллекцию Objective-C.

Вы должны префикс все строковые литералы с @ символами, чтобы сделать их все объекты, как показано ниже:

NSArray *items = [[NSArray alloc] initWithObjects:@"A", @"B", @"C", nil]; 
+0

Упс, что была глупая ошибка! Большое спасибо!! – foobar5512

Смежные вопросы