作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我们正尝试在我们的 Swift 项目中使用 BZObjectStore 库 ( https://github.com/expensivegasprices/BZObjectStore )。
但是在这个库中,他们使用'where'作为名称来设置查询条件。
BZObjectStoreConditionModel *fetchCondition = [BZObjectStoreConditionModel condition];
fetchCondition.sqlite.where = @"name = 'sample1' and price > 50";
fetchCondition.sqlite.orderBy = @"name desc";
NSArray *objects = [os fetchObjects:[SampleModel class] condition:fetchCondition error:&error];
但不幸的是,'where' 是 Swift 中的关键字。我们不想手动更改 BZObjectStore 中的代码。那么有什么办法可以解决这个问题吗?
最佳答案
你必须使用反引号:
fetchCondition.sqlite.`where` = @"name = 'sample1' and price > 50";
To use a reserved word as an identifier, put a backtick (`) before and after it. For example, class is not a valid identifier, but `class` is valid. The backticks are not considered part of the identifier; `x` and x have the same meaning.
关于objective-c - 如何在 Swift 中使用带有关键字名称的 Objective-C 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31717511/
我是一名优秀的程序员,十分优秀!