0
我有get property的問題。當我將_videoRect傳遞給drawArea函數時,什麼都不會發生。但是,如果我改變self.videoRect工作完美。將self.property傳遞給函數
我的代碼:
@property (nonatomic, assign) BOOL isRecording;
@property (nonatomic) NSValue* videoRect;
@implementation Interactor
@synthesize videoRect = _videoRect;
- (id)init {
_isRecording = NO;
[self createVideoObserver];
return self;
}
- (void)record {
_isRecording = !_isRecording;
if (!_isRecording) {
[self stop];
[_presenter animateRecordButton:_isRecording];
} else {
[self drawArea:&(_videoRect) completion:nil];
}
}
- (void)drawArea:(NSValue* __strong *)rect completion:(void (^ __nullable)(void))completion {
if (!_isFullScreen) {
*rect = [NSValue valueWithRect:[self fullScreenRect]];
} else {
[self drawScreenRect];
}
if (completion != NULL) {
completion();
}
}
setter和getter:
- (void)setVideoRect:(NSValue*)videoRect {
_videoRect = videoRect;
}
- (NSValue*)videoRect {
return _videoRect;
}
創建視頻觀察:
- (void)createVideoObserver {
[[RACObserve(self, videoRect) skip:1] subscribeNext:^(id _) {
[self start];
[_presenter animateRecordButton:_isRecording];
}];
}
我不明白爲什麼觀察者不起作用。我如何將self.videoRect傳遞給drawArea函數?
也許這是[合成做什麼](https) ://stackoverflow.com/questions/3266467/what-exactly-does-synthesize-do) – cwschmidt