为什么在Objective-C上initWithFrame内的属性为null?

时间:2019-04-25 19:25:10

标签: objective-c react-native

我正在尝试开发本机模块,但我不知道Objective-C的工作原理,因此我会凭直觉和尝试去做。

所以,我知道这是我的横幅的加载位置,并显示在应用程序中。工作正常。

BannerView.m

@implementation BannerView

...

- (instancetype)initWithFrame:(CGRect)frame
    {
        if ((self = [super initWithFrame:frame])) {        
            [self.bannerUnit setAutoRefreshMillisWithTime:35000];
            self.dfpView = [[DFPBannerView alloc] initWithAdSize:kGADAdSizeMediumRectangle];
            ...
            self.dfpView.adUnitID = @"/6499/example/banner";
            ...
            [self addSubview:self.dfpView];
        }
        return self;
    }

我有这种方法RN-Objective-C桥在哪里

- (void)loadBanner
{
   ...
}

loadBanner ,我可以获取诸如

的属性
<Banner adUnitID={'123'} // inside RN

_adUnitID // inside Objective-C

现在的问题是,在 initWithFrame 中,_adUnitID始终为null。我尝试了_adUnitID,self._adUnitID,self.adUnitID。但还是一样。

NSLog(@"adUnitID %@", _adUnitID); // always null

[更新]

这是我定义 adUnitID

的地方

BannerViewManager.m

RCT_EXPORT_MODULE();

...

RCT_EXPORT_VIEW_PROPERTY(adUnitID, NSString)

BannerView.h

@interface BannerView : RCTView <GADBannerViewDelegate>

...

@property (nonatomic, copy) NSString *adUnitID;

那么,我可能做错了什么?可以做到吗?

0 个答案:

没有答案