이전에 신속하게 데이터 모델의 "TestEntity"에 새 데이터를 추가하기 위해 이와 같은 코드를 사용할 수있었습니다.Swift3에서 엔티티에 새 데이터를 삽입하는 방법은 무엇입니까?
NSManagedObject
은 내 "TestEntity"생성과 나는이 코드는하지 않는 상황
let entity=NSEntityDescription.insertNewObject(forEntityName: "TestEntity", into: context) as! TestEntity
entity.testAttribute="test value"
context.save()
을 절약 할 수, 끝 부분에있는 "점"구문
와 그 속성을 설정할 수였다 Swift3에서 일하십시오.
이Could not cast value of type 'NSManagedObject_TestEntity_' (0x175306b0) to 'testCoreData.TestEntity' (0xd6bb8). 2016-06-19 11:07:52.305195 testCoreData[689:264453] Could not cast value of type 'NSManagedObject_TestEntity_' (0x175306b0) to 'testCoreData.TestEntity' (0xd6bb8)
사람이이이 swift3에서 수행되어야하는 방법에 대한 몇 가지 빛을하시기 바랍니다 있나 : 나는 그것을 실행하면, 다음과 같은 런타임 오류가? 어떤 도움을 주셔서 감사합니다. 감사합니다.
질문의 두 번째 부분은 데이터에 다시 액세스하는 방법입니다. 다음 코드는 오류로 종료 : 치명적인 오류 : NSArray
요소가 NSManagedObject
서브 클래스가있는 경우 TestEntity
새로운 구문이
let entity = TestEntity(context: context)
entity.testAttribute="test value"
세이브는 'try-catch' 블록으로 래핑되어야합니다. – Mundi
@Mundi 물론 그렇습니다.하지만이 질문에는 부적합합니다. 나는 그 선을 지웠다. – vadian
위의 코드가 작동하도록 NSEntityDescription을 만들어야했습니다. 그것 없이는 또 다른 런타임 오류가 발생했습니다 : 'NSInvalidArgumentException'이라는 캐치되지 않은 예외로 인해 응용 프로그램을 종료했습니다. 이유 : ''NSCntagedDescription '클래스의'testCoreData.TestEntity 'NSManagedObject가 있어야합니다.' (엔터티 엔티티 : entityDes !, insertInto : 컨텍스트) entity.testAtt = "테스트 속성"'그렇다면 엔티티 = NSEntityDescription.entity (forEntityName : "TestEntity", 문맥에서) let entity = TestEntity 고맙습니다. – matyasl