0
       self.subscription = [[[RACObserve(photoModel, fullsizedData) filter:^BOOL(id value) {
                return value != nil;
          }]map:^id(id value) {
    return [NSNumber numberWithFloat:1.0f];
    } ]setKeyPath:@keypath(self.imageView.layer,borderWidth)onObject:self.imageView];

エラーログは次のとおりです。

   Terminating app due to uncaught exception 'NSUnknownKeyException',
   reason: '[<UIImageView 0x7b1a8510> setValue:forUndefinedKey:]:
   this class is not key value coding-compliant for the key cornerRadius.

そして、タイプがfloat、intなどの値に反応する別の方法があれば、それを受け入れると思います.

4

1 に答える 1

3

@keypathマクロの代わりに文字列を使用する必要があります。

    [... setKeyPath:"layer.borderWidth" onObject:self.imageView];

または、より明確な RAC マクロを使用できます。

    RAC(self.imageView, layer.borderWidth)
    = [[RACObserve(photoModel, fullsizedData) filter:^BOOL(id value) {
        return value != nil;
    }] map:^id(id value) {
        return @1.0f;
    }];
于 2015-10-09T14:01:10.160 に答える