gpt4 book ai didi

ios - 将 ObjC block 转换为 Swift 闭包

转载 作者:IT王子 更新时间:2023-10-29 05:33:17 25 4
gpt4 key购买 nike

我正在尝试将一些 objective-C 代码翻译成 Swift。我将用于自动布局的 Cocoapod“Masonry”添加到我的项目中,并添加了一个 Bridging-Header,以便能够在 Swift 中使用 Objective-C 方法。

这个 ObjC 方法:

[_tableView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.view);
}];

应该像下面这样的闭包:

tableView.mas_makeConstraints({ (make : MASConstraintMaker!) -> Void? in
make.edges.equalTo(self.view)
})

但我得到一个“找不到成员'mas_makeConstraints'”,这不是错误,因为方法被索引并且自动完成给了我以下内容:

tableView.mas_makeConstraints(block: ((MASConstraintMaker!) -> Void)?)

?!

我是不是做错了什么?

最佳答案

如果有人遇到这种情况,只需我的 2 美分:

这个对象

[productView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.view.mas_left).with.offset(15);
make.right.equalTo(self.view.mas_right).with.offset(15);
make.top.equalTo(self.view.mas_top).with.offset(15);
make.height.equalTo(productView.mas_width);
}];

会变成

productView.mas_makeConstraints{ make in
make.left.equalTo()(self.view.mas_left).with().offset()(15)
make.right.equalTo()(self.view.mas_right).with().offset()(-15)
make.top.equalTo()(self.view.mas_top).with().offset()(15)
make.height.equalTo()(productView.mas_width)
return ()
}

关于ios - 将 ObjC block 转换为 Swift 闭包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24495134/

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