2011-04-10 76 views
0

在調用method2之前,NSTextField(deviceDetails)值必須匹配某個字符串模式。由於我們無法知道NSTextField何時取得期望的值,因此我實現了一個無限循環來檢查字符串模式。儘管如此,我的CPU不喜歡這種實現。你會有一些替代方案嗎?obj-c中無限while循環的替代方法

[self method1] 
NSString *recstate = @"string pattern."; 

while (1) { 
    if ([[deviceDetails stringValue] isEqualToString:recstate]) 
    break; 
      } 

[self method2] 

回答

2

你的問題在這裏。

正如我們不知道什麼時候的NSTextField 取所需的值

當然你也可以知道。如果不能,你將無法編寫出非常好的應用程序。 Cocoa做到這一點的方法是將NSTextField綁定到模型中的屬性。當NSTextField的值更改模型更改中的值時。您可以爲模型屬性編寫自定義訪問器,也可以使用KVO進行觀察。

任何有關Cocoa的基礎教程或書籍都會涵蓋此內容。