2015-11-09 2 views
0

У меня есть текстовый вид в моем проекте, который меняет текст, когда пользователь что-то делает. Но как я могу напечатать текст в консоли. Поэтому каждый раз, когда текст изменяется, он также отображается в консоли.Печать текста в консоли из текстового поля

Вот мой код для текстового просмотра.

self.heardTextView.text = [NSString stringWithFormat:@"Heard: \"%@\"", hypothesis]; // Show it in the status box. 
+1

NSLog (@ "% @", self.heardTextView.text) – Alex

ответ

0

Есть много способов, вы можете достичь этого:

Одним из способов является просто использовать NSLog(@" the text is %@", self.heardTextView.text) заявления

Вы можете использовать собственные методы делегата, данные яблоке:

Реализовать это для печати сообщения после внесения любых изменений в текст.

- (void)textViewDidChange:(UITextView *)textView{ 

     NSLog(@" the text is %@", self.heardTextView.text) 

     if([self.heardTextView.text isEqualToString:@"hello"]){ 
     //do something 
     } 
    } 

Вы также можете использовать KVO для наблюдателя всякий раз, когда в тексте textView есть chnage.

[email protected]"old"; 
[heardTextView addObserver:self forKeyPath:@"text" options:NSKeyValueObservingOptionNew context:NULL]; 
[email protected]"hello"; 

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { 

    NSLog(@"the text changed"); 
    NSLog(@"changed text is %@",change[@"new"]); 
} 
+0

Это вид текста, а не ярлык. Используйте правильные методы делегирования. Нет необходимости в KVO. – rmaddy

+0

я обновил ответ !!! –

+0

Спасибо. Теперь он отображается в консоли! Еще один вопрос, если вы хотите создать «else if», и когда текстовое поле показывает определенный текст, он запустит некоторый код. Как я могу это сделать? –

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