将DBAccess转换为swift

时间:2015-03-30 09:59:54

标签: objective-c swift core-data translate dbaccess

早上好,

有些人可能熟悉DBAccess' Adrian Herridge编写的CoreData的替代品。它是用ObjC编写的,虽然我已经设法将对象的添加转换为swift但我在查询时也遇到了麻烦。这是ObjC代码:

DBResultSet* r = [[[[[Person query]
                        where:@"age > 30"]
                        limit:10]
                      orderBy:@"surname,forename"]
                 fetch];

您可以在此处查看该框架:

DBAccess

提前致谢,

雅各

1 个答案:

答案 0 :(得分:1)

嗯,经过一些调查后,看起来DBAccess确实与Swift很好地配合,但有一些警告:

第一,类似乎需要在全局范围内定义。而不是在另一个类中内联(不确定为什么)

属性半身像动态变量

然后,Swift类必须添加一个@objc(ClassName)指令,这允许原始的Objective-c代码理解这些新对象并像以前一样检查它们。

这是一个例子。

@objc(Person)
class Person: DBObject  {
    dynamic var forename:NSString!
    dynamic var surname:NSString!
    dynamic var age:NSNumber!
    dynamic var favoriteColour:NSString!
}

希望这有助于雅各布。