0

我收到了一个使用 Xcode 5 制作的示例 Quartz Composer 应用程序。该应用程序在 .qtz 文件中发布了几个参数。我想手动添加 UI 滑块/按钮来控制参数,但是遇到了问题。我将发布经过编辑的片段以供参考。

我尝试将滑块绑定到此 AppDelegate:

在 AppDelegate.h 中:

int amount;
@property int amount;

在 AppDelegate.m 文件中;

@synthesize amount;

-(void) awakeFromNib{
amount = 50;
}

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification{
[QCView [NSNumber numberWithInt:amount] forInputKey:@"inputNumber"];

我的问题:awakeFromNib 没有将滑块更新为“50”,并且 NSNumber 没有“看到”数量。

我联系了这个例子的作者,他回复了;

“你看不到它,因为你没有“听”到“金额”的变化。你必须问:

[self addObserver:self forKeyPath:@"amount" options:NSKeyValueObservingOptionNew context:NULL];"

“所以你必须在“observeValueForKeyPath...”函数中添加一些东西:

else if ([keyPath isEqualToString:@"amount"])
{
    NSLog(@"AMOUNT = %d", self.amount);
    [myQCView [NSNumber numberWithInt:amount] forInputKey:@"inputNumber"];
}"

我试过了,收到两个错误:. 意外的接口名称“NSNumber”:预期的表达式。解析问题预期 ']' 来匹配这个 '['

有没有一种简单的方法可以将滑块绑定到 NSNumber ?

4

1 回答 1

0

尝试遵循以摆脱您要使用的编译错误

[myQCView setDefaultValue:[NSNumber numberWithInt:amount] forInputKey:@"inputNumber"];

或者

[myQCView setValue:[NSNumber numberWithInt:amount] forKey:@"inputNumber"];

我对 QC 了解不多,但这是我发现您的编译错误的方法:QCCompositionPickerView 类参考

于 2014-06-23T08:25:48.933 回答