将__block NSString转换为NSString(并最终转换为std :: string)

时间:2019-03-09 02:23:18

标签: objective-c objective-c++

+(std::string)somefunc{
    __block NSString *vals = nil;
    [[Something somecall] completion:^(some params){vals=@"yay"}];
    return std::string([vals UTF8String]);
}

此函数调用将引发错误“-[__ NSMallocBlock__ UTF8String]:无法识别的选择器已发送到实例0x ------”

基于我过去转换NSString的方式,我假设这与将NSString声明为__block以便在[]中对其进行修改有关。但是我在任何地方都找不到答案。

转换它的“最佳”方法是什么?

0 个答案:

没有答案