Как вставить новые данные в сущность в Swift3?

В Swift ранее я мог использовать подобный код, чтобы добавить новые данные в мой «TestEntity» в моей модели данных.

NSManagedObject был создан для моего "TestEntity", и я смог установить его атрибуты с синтаксисом "точка"

В конце я бы сохранил контекст

let entity=NSEntityDescription.insertNewObject(forEntityName: "TestEntity", into: context) as! TestEntity
entity.testAttribute="test value"
context.save()

Этот код не работает в Swift3. Когда я запускаю его, я получаю следующую ошибку во время выполнения:

Не удалось преобразовать значение типа «NSManagedObject_TestEntity_» (0x175306b0) в «testCoreData.TestEntity» (0xd6bb8). 2016-06-19 11: 07: 52.305195 testCoreData [689: 264453] Не удалось привести значение типа 'NSManagedObject_TestEntity_' (0x175306b0) к 'testCoreData.TestEntity' (0xd6bb8)

Может кто-нибудь пролить свет на то, как это должно быть сделано в swift3, пожалуйста? Любая помощь высоко ценится. Спасибо.

Вторая часть вопроса - как снова получить доступ к данным. следующий код заканчивается ошибкой: фатальная ошибка:NSArray элемент не соответствует типу элемента Swift Array

let fr:NSFetchRequest<TestEntity>=TestEntity.fetchRequest()

do {
   let searchResults=try context.fetch(fr)
   if let results=searchResults {
      for result in results {
         print("testAtt = \(result.testAtt)")
      }
   }
} catch {

}

Ответы на вопрос(4)

Ваш ответ на вопрос