无法分配给属性:“popupHeight”是一个只能获取的属性

Posted

技术标签:

【中文标题】无法分配给属性:“popupHeight”是一个只能获取的属性【英文标题】:Cannot assign to property: 'popupHeight' is a get-only property 【发布时间】:2020-12-19 14:29:42 【问题描述】:

我在使用 this cocoapod 时遇到问题。

我想为弹出窗口设置 popupHeight,但它显示“无法分配给属性:'popupHeight' 是一个只能获取的属性”...

这是我的代码:

@IBAction func testBtnPressed(_ sender: Any) 
    guard let popupVC = storyboard?.instantiateViewController(withIdentifier: "popup") as? BottomPopupViewController else  return 
    popupVC.popupHeight = 50.0 //ERROR!!!
    popupVC.popupDelegate = self
    present(popupVC, animated: true, completion: nil)

有人可以帮助我吗?谢谢!

【问题讨论】:

【参考方案1】:

我刚刚检查了链接和示例项目。在示例项目中,我可以看到它们已被命名为 popupHeight 覆盖,您尝试在其上设置如下值:- override var popupHeight: CGFloat return height ?? CGFloat(300) 您可以了解更多关于 get and set here 的信息。

现在您可以做的只是在您的BottomPopupViewController 中简单地覆盖这个popupHeight 变量并设置您想要的值。否则,您可以按照他们在示例中所做的类似方式进行操作。

为此:- 取一个名为 height 的变量或任何您想要的东西:- var height: CGFloat? 然后在像这样实例化您的视图控制器时设置它:- popupVC.height = 50.0 并在您的 @ 中有覆盖的方法987654330@ 这个 :- override var popupHeight: CGFloat return height ?? CGFloat(300) 基本上它会占用你在这里设置的高度popupVC.height = 50.0

【讨论】:

以上是关于无法分配给属性:“popupHeight”是一个只能获取的属性的主要内容,如果未能解决你的问题,请参考以下文章

无法分配给属性:“值”是一个只能获取的属性 RxSwift -

无法分配给属性:“xxxx”是一个只能获取的属性

无法分配给属性“tabBarController”是一个只能获取的属性

无法分配给属性:“操作”是仅获取属性

无法将 PhysicsBody 和属性分配给 SKSpriteNode?

TS 2540:无法分配给样式,因为它是只读属性