obj-c中无限while循环的替代方案

时间:2011-04-10 11:05:05

标签: objective-c while-loop

在调用method2之前,NSTextField(deviceDetails)值必须与某个字符串模式匹配。由于我们无法知道NSTextField何时获取所需的值,因此我实现了一个无限循环来检查字符串模式。尽管如此,我的CPU并不喜欢这种实现方式。你有替代方案吗?

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

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

[self method2]

1 个答案:

答案 0 :(得分:2)

你的问题就在这里。

  

因为我们无法知道NSTextField的时间   取得所需的值

当然你可以知道。如果你不能,你将无法编写非常好的应用程序。 Cocoa方法是将NSTextField绑定到模型中的属性。当NSTextField的值更改模型中的值更改时。您可以为模型属性编写自定义访问器,也可以使用KVO进行观察。

关于Cocoa的任何好的基础教程或书都将涵盖这一点。