ios - 接受函数的回调作为参数

标签 ios swift snapkit

我正在使用 SnapKit,并且尝试将闭包作为参数传递给我的函数,该函数调用 snp_makeConstaints,如下所示,

func drawView(view: UIView, callback: (() -> Void)!) {
    self.addSubview(view)
    view.snp_makeConstraints(closure: callback)
}

我收到以下错误,

../example.swift:57:43:无法转换类型“(() -> Void)!”的值预期参数类型'@noescape (make: ConstraintMaker) -> Void'

因此我添加了 (make: ConstaintMaker) -> Void

这导致了以下错误, 使用未声明的类型“ConstraintMaker”

我不明白 @noescape 是什么以及为什么它说 ConstraintMaker 未声明。

最佳答案

在出现问题的 swift 文件顶部添加 import SnapKit

关于ios - 接受函数的回调作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35309857/

相关文章:

swift - 翠鸟:没有这样的模块 'CommonCrypto'

ios - 无法在 Swift 中设置作为 UIScrollView subview 的 UIView 的背景颜色

ios - 在 Swift 中以编程方式切换选项卡栏失败

ios - 如何确保启动屏幕正在显示

Swift 3 - 将 segue 推送到导航 Controller

ios - 当 UITextView 大小发生变化时,如何使 UITableViewCell 调整大小?

ios - 带有 AutoLayout 的 UICollectionViewCell 在 iOS 10 中不起作用

ios - 最后 UICollectionViewCell 对齐

ios - 如何将 AVAsset 音频从一台 iOS 设备无线传输到另一台?

ios - UserDefaults.didChangeNotification 未触发