我一直在寻找一种方法,可以在运行时在 Swift 3 for iOS 平台中以编程方式创建数据库实体/表。请详细说明过程。我遵循了其他链接,但没有任何效果对我有用,我无法正确理解该过程,因此请用工作代码解释整个过程,而不是提供其他现有链接。
还有一个从 XCode 添加的表,我可以在该表上执行与数据库相关的操作(插入行、删除、更新),但我无法找到一种方法来对将以编程方式创建的表执行以下操作在运行时。 需要执行以下操作。
添加实体 -从界面中,用户可以添加实体名称、列数、列名称,然后点击按钮,使用 CoreData 将实体创建到数据库中。用户可以从界面添加任意数量的表。
插入值 -然后用户将拥有将值插入实体的界面。实体的名称是已知的,实体中一行的值将由用户输入。点击按钮时,该行应插入到实体/数据库表中。
获取值 -用户可以选择从实体中获取所有保存的值。在需要时随时使用它们。
更新值 -用户将能够更新以编程方式创建的表中存在的任何值。
删除实体 -还有一个选项可以删除数据库实体。点击按钮时,实体的名称将传递给函数,并且该实体/数据库表将从数据库中删除。
我尝试了以下代码-:
let model = NSManagedObjectModel()
let entityName = "TestEntity"
let entity = NSEntityDescription()
entity.name = entityName
entity.managedObjectClassName = entityName
// Creating a attribute
let remoteURLAttribute = NSAttributeDescription()
remoteURLAttribute.name = "columnOne"
remoteURLAttribute.attributeType = .stringAttributeType
remoteURLAttribute.isOptional = true
remoteURLAttribute.isIndexed = true
var properties = Array<NSAttributeDescription>()
properties.append(remoteURLAttribute)
// Adding the attribute to the entity
entity.properties = …Run Code Online (Sandbox Code Playgroud)