gpt4 book ai didi

swift - objective-c block 到 swift

转载 作者:行者123 更新时间:2023-11-30 10:08:42 24 4
gpt4 key购买 nike

我正在尝试从 Swift 调用 Objective-C 类上的方法。它适用于名为 BoString 的 pod,以下是代码片段

- (BOStringAttribute *(^)(NSParagraphStyle *))paragraphStyle
{
return ^BOStringAttribute *(NSParagraphStyle *paragraphStyle) {
return self.attribute(NSParagraphStyleAttributeName, paragraphStyle);
};
}

在 Swift 中,我尝试调用此方法,但如果我尝试在 paragraphstyle 中传递任何参数,编译器会提示

let str = BOStringMaker()
str.paragraphStyle() // OK
//*** error
str.paragraphStyle({(ps) -> BOStringAttribute in
// logic here
})

在 Objective-C 中,我使用了

BOStringMaker *make = [BOStringMaker alloc] init]
make.paragraphStyle(ps);

但我无法在 Swift 中做同样的事情

最佳答案

很快你就会做同样的事情。您获得 paragraphStyle 这是 block /函数,然后只需调用它并传入 ps 或您当前作为参数保存的 NSParagraphStyle 的任何实例:

formatText.paragraphStyle()(ps)

关于swift - objective-c block 到 swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34465501/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com