Xcode 6 Beta 4: Использование неразрешенного идентификатора 'NSFetchedResultsChangeInsert'

только что установил Xcode 6 Beta 4, и этот ранее компилирующий код теперь терпит неудачу с «Unresolved Identifier» на каждом коммутаторе NSFetchedResultsChangeType. Я проверил примечания к выпуску и, конечно, пробрался сюда, чтобы узнать, не испытал ли кто-нибудь еще этого, но до сих пор ничего не появилось. Любая информация оценена!

благодаря!

func controller(controller: NSFetchedResultsController, didChangeSection sectionInfo: NSFetchedResultsSectionInfo, atIndex sectionIndex: Int, forChangeType type: NSFetchedResultsChangeType) { println("Running CoreDataTVC.controllerDidChangeSection") switch type { case NSFetchedResultsChangeInsert: self.tableView.insertSections(NSIndexSet(index: sectionIndex), withRowAnimation: .Fade) case NSFetchedResultsChangeDelete: self.tableView.deleteSections(NSIndexSet(index: sectionIndex), withRowAnimation: .Fade) default: return } } 

Когда перечисление

 typedef NS_ENUM(NSUInteger, NSFetchedResultsChangeType) { NSFetchedResultsChangeInsert = 1, NSFetchedResultsChangeDelete = 2, NSFetchedResultsChangeMove = 3, NSFetchedResultsChangeUpdate = 4 } ; 

сопоставляется с Swift, общий префикс автоматически удаляется из значений перечисления:

 enum NSFetchedResultsChangeType : UInt { case Insert case Delete case Move case Update } 

Сравните «Взаимодействие с API-интерфейсами C» в документации «Использование Swift with Cocoa и Objective-C».

Таким образом, ваш код должен выглядеть так

 func controller(controller: NSFetchedResultsController, didChangeSection sectionInfo: NSFetchedResultsSectionInfo, atIndex sectionIndex: Int, forChangeType type: NSFetchedResultsChangeType) { switch type { case .Insert: self.tableView.insertSections(NSIndexSet(index: sectionIndex), withRowAnimation: .Fade) case .Delete: self.tableView.deleteSections(NSIndexSet(index: sectionIndex), withRowAnimation: .Fade) default: return } } 

Совет. Если вы создадите приложение «Master-Detail» в Xcode с «Использовать основные данные», вы получите образец кода, с которого вы можете начать.

Перечисление NSFetchedResultsChangeType определяется внутри NSFetchedResultsController.

 enum NSFetchedResultsChangeType : UInt { case Insert case Delete case Move case Update } 

Чтобы получить доступ к значениям перечисления, вы можете использовать тип перечисления, за которым следует случай, подобный этому:

 switch type { case NSFetchedResultsChangeType.Insert: self.tableView.insertSections(NSIndexSet(index: sectionIndex), withRowAnimation: .Fade) case NSFetchedResultsChangeType.Delete: self.tableView.deleteSections(NSIndexSet(index: sectionIndex), withRowAnimation: .Fade) default: return } 

Поскольку вы знаете тип типа NSFetchedResultsChangeType вы также можете опустить это из случаев коммутатора и просто использовать case .Insert: и case .Delete:

  • Как получить первый символ каждого слова в строке?
  • Требуется ли моему Mac-приложению применить ключ доступа к серверу?
  • Оплата другому пользователю в приложении Swift
  • Как добавить маркер для отображения карты в google maps sdk для ios в быстром
  • Что эквивалентно этому объектив-c-коду в swift?
  • Обнаруживать, если устройство iPhone X
  • Могу ли я отправить код, написанный в Swift 4, в App Store с Xcode 8.3.2?
  • cellForItemAt IndexPath не вызывает, если я использую UICollectionViewDelegateFlowLayout. Это ошибка iOS?
  • Создание экземпляра контроллера представления с идентификатором в Swift
  • Вертикальный UICollectionView внутри пользовательского TableViewCell
  • Ошибка iTunes Connect для архива, загруженного с Xcode 6.3: содержит недопустимую версию Swift
  • Interesting Posts

    Масштабировать кнопку входа в Google на iOS с ограничениями

    Пользовательский шрифт в IOS не отражен на устройстве

    Дополнительные ячейки, видимые после результатов UISearchDisplayController

    Использование календаря в моем приложении для отслеживания моих событий и синхронизации на календаре Google

    Как преобразовать строку в JSON с помощью SwiftyJSON

    Статический просмотр для каждого контроллера просмотра в iOS

    iOS: Есть ли способ программно вернуть AirPlay обратно в iPad?

    Как я могу получить синий цвет по умолчанию iOS 7 программно?

    didSelectItemAtIndexPath не вызывается с несколькими видами коллекции на одном экране

    различия между слабым и присваивающим свойством?

    Что мне нужно сделать, чтобы получить UICollectionView с двумя столбцами на экране программно?

    iOS 9.3 Интерактивный поп жест развращает навигационную панель

    Панель вкладок при переключении просмотров

    Отобразить UIAlertView в классе NSObject

    Передача данных (String) из дочернего VC в родительский VC, используя самый простой способ

    Давайте будем гением компьютера.