iOS:使用类型'CGRect'(又名'struct CGRect'),其中需要算术或指针类型

时间:2016-07-03 06:58:18

标签: ios objective-c block reactive-cocoa

当我使用ReactiveCocoa时,我想观察tableView的{​​{1}}框架,但是出现了问题:

__block CGRect tmp_rect;
[RACObserve(self, self.tableView.frame) subscribeNext:^(id x) {
    NSLog(@"%@",x);

    tmp_rect= (CGRect)x; // this line appear issue:
     'Used type 'CGRect' (aka 'struct CGRect') where arithmetic or pointer type is required'

    double width_radio = x.origin.x/[UIScreen mainScreen].bounds.size.width;

    back_nav.alpha = 1 - width_radio;
}];

我不知道这个问题出现了什么。

1 个答案:

答案 0 :(得分:2)

对象x是NSValue。

您需要从中解开CGRect。你不能只是施展它。

...试

tmp_rect = [x CGRectValue];