2013-02-24 2 views
0

У меня есть приложение, в котором я пишу в базу данных с использованием основных данных. Это работает, поскольку я вижу, что там есть данные, используя браузер базы данных SQLLite. Я затем извлекать данные в массив NSMutable и я могу видеть, что есть 1 запись в режиме отладки с помощью:Доступ к данным в NSMutable Array

Print self.schoolNames.count 

, но я не могу прочитать массив. Моя линия:

obsSchoolName = [[self.schoolNames objectAtIndex:0] obsSavedSchoolName]; 

где имя атрибута поля Я пытаюсь получить доступ в obsSavedSchoolName.

Любые идеи очень ценятся.

+0

В чем проблема? Не компилятор не находит метод obsSavedSchoolName в любом видимом интерфейсе ? –

+0

«Неизвестный экземпляр obsSavedSchoolName». Если я нахожусь в режиме отладки и пытаюсь напечатать [[self.schoolNames objectAtIndex: 0] obsSavedSchoolName], то ошибка «ошибка: нет известного метода» -obsSavedSchoolName »; приведение сообщения к типу возврата метода ошибка: 1 ошибка разбора выражения " – RGriffiths

+0

Он компилируется, но он не отлаживается? Странный. –

ответ

1

Предполагая, что ваш подкласс NSManagedObject называется «Школа». Затем сделайте:

#include "School.h" 

... 

School *tempSchool = [self.schoolNames objectAtIndex:0]; 
obsSchoolName = [tempSchool obsSavedSchoolName]; 

или

obsSchoolName = [(School*) [self.schoolNames objectAtIndex:0] obsSavedSchoolName]; 
+0

Вы напомнили мне о шаге, который я пропустил. Я не создал файлы .h и .m из базовой модели данных. Отлично - большое вам спасибо. – RGriffiths

+0

Прекрасно работает - Спасибо, спасибо. – RGriffiths

+0

Или просто: 'obsSchoolName = [(Школа *) [self.schoolNames [0] obsSavedSchoolName]; ' – zaph

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