2015-05-20 1 views
0

Я использую Pods в Objective C для Realm и Swift для переднего конца. Я могу запустить этот код в Obj-CRealm 0.92.3 Swift не имеет члена с именем objectWhere

RLMResults *xxx = [PortfolioList objectsWhere:@"object_id = %@", portfolio.object_id]; 
PortfolioList *list = (PortfolioList *)xxx.firstObject; 
NSLog(@"++++News: %@", list.news); 

, но не в Swift среде

let ppp:RLMResults! = PortfolioList.objectsWhere("object_id = %@", self.portfolio.object_id) 
var list = ppp.firstObject as! PortfolioList 
println("+++++\(list.news)") 

Я там получаю ошибки

PortfolioList.Type does not have member named objectWhere 

является альтернативные пути достижения того же результата? PortfolioList обладает свойствами PortfolioNews (RLMArray)

enter image description here

ответ

-1

Вы получили опечатка: objectsWhere и objectWhere.

+0

Это просто опечатка. Нет объектов для RLMObject в Swift. –

+0

Согласно [source] (https://github.com/realm/realm-cocoa/blob/4aebb18a72abc06f9735587f1e270a137e919d6a/Realm/Swift/RLMSupport.swift#L23), есть такой метод. – Max

+0

есть. Я знаю. его можно передать в моей среде Obj-C, но не в Swift. –

0

Это позволит решить проблему

let ppp:RLMResults! = PortfolioList.objectWhere("object_id = \(self.portfolio.object_id)") 

var list = ppp.firstObject as! PortfolioList 
println("+++++\(list.news)") 
+0

Спасибо, но он не сработает. Я прикрепил изображение –

1

Там есть файл «RLMSupport.swift», что вам нужно включить рядом рамки, чтобы иметь доступ к методу objectWhere. Вы найдете его в папке Swift.