2012-05-03 24 views
0

我试图建立的东西,每个键盘输入只会触发一次命令(而不是像QC本身每帧)。为了做到这一点,我试图在键盘输入(通过Freeboard)上聆听,并比较当前输入和以前的版本。Quartz Composer Objective C比较以前与当前输入

似乎在发生的是以前的版本在每次修补程序执行时都会被擦除,所以我比较字符串的条件每次都会失败。下面是一些代码,使其更清楚一点:

- (BOOL)execute:(id <QCPlugInContext>)context atTime:(NSTimeInterval)time withArguments:(NSDictionary *)arguments 
{ 
    self.outputPrevious=previousCharacter; 
    if ([self.inputCharacter caseInsensitiveCompare:previousCharacter]){ 
     [email protected]"SAME"; 
    } 
    else { 
     [email protected]"CHANGE"; 
    } 
    previousCharacter = [NSString stringWithString:self.inputCharacter]; 
    [previousCharacter retain]; 
    return YES; 
} 

其中self.outputText是告诉我,如果self.outputPrevious告诉我什么以前的字符输入是,和self.inputCharacter结果的文本是当前键盘输入。

previousCharacter在头文件中定义并在-init中实例化,因此不应每次都重置。

我已经尝试了几乎所有这一切,所以如果你有任何想法或见解,那就太棒了。谢谢!

回答

0

最终显示出来。可以找到完整的解决方案here