【发布时间】:2015-03-31 21:01:59
【问题描述】:
我有一个问题,在 Swift 中我定义了一个名为 Person 的类,当与一些 Objective-c 代码交谈时,它会尝试创建该类的新实例。
显然 NSClassFromString(@"Person") 失败,因为它需要是完全限定名称,例如 DBAccess_Test.Person。
我的问题是,我是否能够通过搜索类注册表以编程方式生成 DBAccess_Test. 部分?
原因在于,对于我们维护的 ORM,Swift 程序员很可能决定将他的所有存储类都放在应用程序的单独命名空间中。但我们希望保持与开发人员理解的类名称相匹配的标准表命名实践。
例如,查询不是:
NSArray* r = [[[[Person query]
where:@"surname IN (SELECT surname FROM Employees)"]
orderBy:@"forename"]
fetch];
它会变成:
NSArray* r = [[[[Person query]
where:@"surname IN (SELECT surname FROM DBAccess_Test_Employees)"]
orderBy:@"forename"]
fetch];
ORM 已经有点身份危机了。我们只想检查表名,以及程序员将使用的类名。
提前感谢您的帮助。
【问题讨论】:
标签: ios objective-c swift