2016-02-26 2 views
0

Я изучаю iOS, и я хотел бы создать в своих RootViewController, SearchBar и SearchDisplay Controller, я хочу показать в SearchBar мое выражение от JSON (url). У меня проблема с NSPredicate predicateWithFormat. Ниже мой код:Как использовать предикат с JSON?

-(void)searchThroughData{ 
self.results = nil; 
NSPredicate *resultsPredicate = [NSPredicate predicateWithFormat:@"expression", self.searchBar.text]; 
self.results = [[self.finalResultArray filteredArrayUsingPredicate:resultsPredicate] mutableCopy];} 

JSON (URL) файла:

{phrase: 
[ 
{ 
    expression: "ios", 
    meaning: "bla bla bla bla bla" 
    }, 
{ 
    expression: "objc", 
    meaning: "Hello Stack" 
    } 
] 
} 

Как я могу использовать NSPredicate? Пожалуйста, помогите мне.

ответ

0

Для связи с JS, вы должны использовать JSContext .Это будет выглядеть следующим образом:

- (void)webViewDidFinishLoad:(UIWebView *)webView { 
    self.jsContext = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"]; 
    self.jsContext[@"phrase"] = self; 
    self.jsContext.exceptionHandler = ^(JSContext *context, JSValue *exceptionValue) { 
     context.exception = exceptionValue; 
     NSLog(@"exception:%@", exceptionValue); 
    }; 
} 

И затем, добавить методы в вашем JS.

1
NSArray *fileterArray= [self.finalResultArray filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"self.%@ contains[c] %@ ,@"expression",self.searchBar.text]]; 

NSLog(@"Filterd Array:-%@",fileterArray); 
+0

Я делаю это, но все же у меня есть ошибка, не могли бы вы мне помочь, где я могу совершить ошибку? http://pastebin.com/AfiG2uQK – mechu911

+0

какой вид ошибки ??? –

+0

- [UITableView text]: непризнанный селектор, отправленный в экземпляр 0x7b9de000 – mechu911

Смежные вопросы