【发布时间】:2019-07-14 09:50:59
【问题描述】:
property block getting nil 我有一个objective-c viewcontroller 类,它有一个属性块 //UAEPassWebViewController.h
@property (nonatomic, copy) void (^onUAEPassSuccessBlock)(NSString *response);
@property (nonatomic, copy) void (^onUAEPassFailureBlock)(NSString *response);
我已经创建了 bridging-header.h 类,并尝试在 swift 类中调用代码,如下所示
webVC.onUAEPassSuccessBlock = { (code: String) in
print(code)
if (code != "") {
self.showHud()
self.getUaePassTokenForCode(code)
}
} as? (String?) -> Void
但是在执行代码时 onUAEPassSuccessBlock 属性变为零 //UAEPassWebViewController.m
if(_onUAEPassSuccessBlock && code) {
_onUAEPassSuccessBlock(code);
[self.navigationController popViewControllerAnimated:true];
}
只有当我从 swift 类调用时才会发生这种情况。如果我从objective-c 类调用相同的属性,下面是它工作正常的代码。 // ViewController.m
webVC.onUAEPassSuccessBlock = ^(NSString *code) {
if(code) {
[self showLoadingIndicator];
[self getUaePassTokenForCode:code];
}
};
谁能帮帮我
【问题讨论】:
标签: objective-c swift completion-block