领域+ NSClassFromString

时间:2016-10-11 14:16:05

标签: realm swift3

大家好,感谢您阅读本文。

我是Realm的新手,我遇到了一个我无法弄清楚如何构建的功能。我的目的是让一个名为func delete(className:String, id:Int){的函数能够通过其ID删除任何Realm类的任何对象。函数的内部代码是:

func delete(objectNameV:String, id:Int){

   let theClass = NSClassFromString(objectNameV)

   // Get the default Realm
   let realm = try! Realm()
   let queryResult = realm.objects(theClass as! Object.Type).filter("id = \(id)")
   try! realm.write {
      realm.delete(queryResult)
   }
}

但事实是let theClass = NSClassFromString(objectNameV)总是NIL。

感谢任何帮助,我只需要一个给出领域类名的函数,并且该类对象的id可以删除它

领域版本:2.0.1 Xcode版本:8

1 个答案:

答案 0 :(得分:1)

According to the Apple developer docs,Swift中的类由其模块名称命名。因此仅仅编写类名是不够的;你还必须包括他们的模块名称。

Apple在其网站上使用的示例是:

'|'