Не удается получить доступ к отношениям «один ко многим» в CoreData с помощью Swift

Свифт заставил меня наконец попробовать IOS, но у меня проблемы с CoreData. Мне не повезло, пытаясь получить доступ к моим свойствам, которые сопоставляются с моими отношениями «один ко многим».

У меня есть отношения «один ко многим», настроенные как таковые:

@objc(Project) class Project: NSManagedObject { @NSManaged var name:String @NSManaged var scribbles : Array<Scribble> } @objc(Scribble) class Scribble: NSManagedObject { @NSManaged var notes:String @NSManaged var project:Project } 

Я беру свои данные следующим образом:

 let request = NSFetchRequest(entityName: "Projects"); request.returnsObjectsAsFaults = false; request.includesSubentities = true; var results:NSArray = context.executeFetchRequest(request, error: nil); for project in results { let thisProject:Project = project as Project; projects.append(thisProject); } 

Но всякий раз, когда я пытаюсь перебирать надписи для проекта, используя for..in, я получаю это исключение:

 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Scribble count]: unrecognized selector sent to instance 

Когда я печатаю на моем объекте проекта Похоже, что я что-то возвращаю, я просто не знаю, что с ним делать.

 <Project: 0xb48e010> (entity: Projects; id: 0xb48d340 <x-coredata://CDEFAC19-4D9E-426D-B0CC-EFFEE9053707/Projects/p3> ; data: { name = Larry; scribbles = "0xb48e7b0 <x-coredata://CDEFAC19-4D9E-426D-B0CC-EFFEE9053707/Scribbles/p3>"; 

})

  • Лучший способ воссоздать определение класса после изменения модели данных ядра?
  • Местоположение приложения Xcode 6 iPhone Simulator
  • Включение облегченной миграции основных данных в Swift 3
  • У управляемых объектов есть другой идентификатор, когда выдается
  • NSFetchedResultsController didChangeObject indexPath имеет значение null
  • отменить все изменения, внесенные в контроллер дочернего представления
  • dispatch_async в исполнении NSManagedObjectContext
  • iOS оптимальное решение для постоянных данных?
  • One Solution collect form web for “Не удается получить доступ к отношениям «один ко многим» в CoreData с помощью Swift”

    Из исключения, которое бросается, кажется, вы пытаетесь выполнить итерацию по коллекции, но вместо этого project.scribbles возвращает коллекцию, возвращая экземпляр Scribble.

    Это заставляет меня думать, что ваши отношения настроены как «на единицу» в моделировании данных. Убедитесь, что вы установили отношение «для многих». Вы можете сделать это, выбирая отношения, и в окне Data Model Inspector будет указан параметр type – по умолчанию он установлен на «один».

    Interesting Posts

    Какова правильная кодировка строк пути файловой системы?

    Сдвиг UIViewController для pop – как в приложении Readability

    Кастинг структуры с общим параметром с быстрым

    Ошибка AudioUnitRender и ExtAudioFileWrite -50 в Swift: попытка конвертировать MIDI в аудиофайл

    IOS App Store теперь поддерживает загрузку кода на лету. Как это реализовать?

    Phonegap IOS Подписание с помощью build.json

    как создать линию с шириной 0.5px ТОЛЬКО с раскадрой?

    Как изменить положение контроллера вида Modal View

    Как отрегулировать вертикальное положение кнопки в панели навигации?

    Мониторинг региона в ios 7

    Обнаружение, когда кнопка «назад» нажата на навигационной панели

    Я получаю: Завершение приложения из-за неперехваченного исключения «NSInvalidUnarchiveOperationException», причина: «Не удалось создать экземпляр класса с именем MKMapView»

    Не удается передать делегата приложения делегату приложения в тестах

    Как увидеть NSLog () из консольного приложения при использовании инструментов

    make button в заголовке секции tableview float / align right программно // Swift

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.