将 DBAccess 翻译成 swift
Translate DBAccess into swift
大家早上好,
有些人可能熟悉 'DBAccess' Adrian Herridge 编写的 CoreData 替代品。它是用 ObjC 编写的,虽然我设法将对象的添加转换为 swift,但我在查询时遇到了同样的问题。这是 ObjC 代码:
DBResultSet* r = [[[[[Person query]
where:@"age > 30"]
limit:10]
orderBy:@"surname,forename"]
fetch];
您可以在此处查看框架:
提前致谢,
雅各布
好吧,经过一些调查,DBAccess 似乎与 Swift 配合得很好,但有一些注意事项:
第一,classes 似乎需要在全局范围内定义。而不是内联另一个 class(还不确定为什么)
属性变为 动态变量。
Swift classes 必须添加 @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!
}
希望这对 Jacob 有帮助。
大家早上好,
有些人可能熟悉 'DBAccess' Adrian Herridge 编写的 CoreData 替代品。它是用 ObjC 编写的,虽然我设法将对象的添加转换为 swift,但我在查询时遇到了同样的问题。这是 ObjC 代码:
DBResultSet* r = [[[[[Person query]
where:@"age > 30"]
limit:10]
orderBy:@"surname,forename"]
fetch];
您可以在此处查看框架:
提前致谢,
雅各布
好吧,经过一些调查,DBAccess 似乎与 Swift 配合得很好,但有一些注意事项:
第一,classes 似乎需要在全局范围内定义。而不是内联另一个 class(还不确定为什么)
属性变为 动态变量。
Swift classes 必须添加 @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!
}
希望这对 Jacob 有帮助。