Соблюдайте опубликованные значения Quartz Composition без использования QCView и QCPatchController. - PullRequest
1 голос
/ 15 марта 2011

Я искал несколько способов управления Quartz Composition, который загружается как подслой пользовательского представления, унаследованного от NSView.

NSString * compositionPath = [[NSBundle mainBundle] pathForResource:@"Test" ofType:@"qtz"];
QCCompositionLayer *myQCCompositionLayer = [[QCCompositionLayer compositionLayerWithFile:compositionPath] retain];
// Borderless window with custom view
[[self.contentView layer] addSublayer: myQCCompositionLayer];

Вручную я обнаружил, что следующий код работает для установки опубликованных значений ввода:

[myQCCompositionLayer setValue:@"123" forInputKey:@"published_text_input"];

Итак, я пытался найти способ просмотреть опубликованные выходные значения, и мне было интересно, должен ли наблюдатель сделать это. Написано примерно так:

[myQCCompositionLayer addObserver:self forKeyPath:@"published_output_value" options:0 context:nil];

И это в том же классе:

- (void) observeValueForKeyPath:(NSString*)keyPath ofObject:(id)object
                     change:(NSDictionary*)change context:(void*)context
{
    NSLog(@"123");
}

Но это не работает. Возможно, неверный путь к ключу или этот код вообще не должен работать:)
Так есть ли способы наблюдать опубликованные значения моей композиции?
Спасибо за помощь.

...