【发布时间】:2017-02-19 09:53:56
【问题描述】:
我正在尝试将我的 Swift 视图与我的 React-Native 项目链接起来。我想出了如何显示它,但是现在当我尝试设置属性时,我收到了以下错误消息:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Switch setMessage:]: unrecognized selector sent to instance 0x7f96b270de70'
在我的 react-native 代码中,我正在做:
const SwitchNative = requireNativeComponent('Switch', Switch);
class Switch extends Component {
render() {
return (
<SwitchNative message="message will be" style={this.props.style} />
);
}
}
然后在我的 SwiftBridge 中执行此操作:
// SwiftBridge.h
#import "RCTView.h"
@interface SwitchBridge : RCTView
@property (nonatomic, assign) NSString *message;
@end
// SwiftBridge.m
#import "RCTBridgeModule.h"
#import "RCTViewManager.h"
#import "SwitchBridge.h"
@interface RCT_EXTERN_MODULE(SwitchManager, RCTViewManager)
RCT_EXPORT_VIEW_PROPERTY(message, NSString)
@end
最后我在我的 Swift 课程中拥有了这个 Switch.swift:
...
public func setMessage(message: String) {
NSLog("It's working well");
}
...
不知道为什么它找不到我的setMessage 函数。
【问题讨论】:
标签: ios swift reactjs react-native