0

我正在尝试构建一个每次键盘输入只会触发一次命令的东西(而不是像 QC 本身那样的每一帧)。为此,我尝试监听键盘输入(通过 Freeboard)并将当前输入与以前的版本进行比较。

似乎正在发生的事情是每次执行补丁时都会擦除以前的版本,所以我比较字符串的条件每次都失败。这里有一些代码让它更清楚一点:

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

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

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

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

4

1 回答 1

0

最终想通了。完整的解决方案可以在这里找到

于 2012-05-11T14:46:24.650 回答