我已经准备好将我的项目迁移到RAC,但是当我想要绑定属性的更改时,会出现一个错误。
#import <UIKit/UIKit.h>
@interface XBXMLoginTextField : UIView
@property (nonatomic, assign) UIKeyboardType keyboardType;
@end在.m文件中:
- (instancetype)init {
if (self = [super init]) {
[RACObserve(self, keyboardType) subscribeNext:^(UIKeyboardType x) {
}];
}
return self;
}向‘-> (^ _Nonnull)(id _Nullable __strong)’类型的参数发送'void (^)(UIKeyboardType)‘时出现块指针类型不兼容的错误
我的代码出了什么问题?
发布于 2018-12-20 19:38:36
RACObserve返回一个信号,该信号以装箱的NSNumber *形式激发其整数值,因此您需要使用它的integerValue
[RACObserve(self, keyboardType) subscribeNext:^(NSNumber *keyboardType) {
NSLog(@"%ld", (long)keyboardType.integerValue);
// Or any other user of keyboardType.integerValue, such as:
if (keyboardType.integerValue == UIKeyboardTypeURL) {
// Do stuff.
}
}];https://stackoverflow.com/questions/53864310
复制相似问题