2012-12-08 37 views
1

這裏是我想要做的:運行時的NSString變化

- (void) fullDMXReceived:(NSString*)finalData { 

if (finalData changed since the last time fullDMXReceived ran) { 
    //DO SOMETHING 
} 

} 

每50miliseconds,新的價值在於有時是一樣的最後的 - 在這種情況下,我不希望//發生什麼事情。只有,如果NSString finalData改變。

我知道這可能是一個簡單的答案,我一直在搞這個,但無濟於事。

謝謝!

回答

5

將最後一個字符串保存在一個變量中,檢查新值與舊值,如果二者相等,則跳過操作。

當值是不同的,運行操作,並更新先前值以匹配新的一個:

NSString *lastValue = nil; // <<== Make this an instance variable 
... 
if (![finalData isEqualToString:lastValue]) { 
    lastValue = finalData; 
    // Run the operation 
    ... 
}