ios - 无法转换类型的值

标签 ios swift cocoa-touch

我正在创建一个 Tic Tac Toe 应用程序。当游戏重置时,所有 Xs 和 Os UIButton 图像应该返回到 nil。棋盘上的每个空格都标记为 0 到 8。

  var buttonsToClear : UIButton

    for var i = 0; i < 9; i++ {

        buttonsToClear = view.viewWithTag(i) as! UIButton

        buttonsToClear.setImage(nil, forState: .Normal)

    }

一切正常,直到我添加了一个导航栏。现在我收到错误消息

"Could not cast value of type '_UINavigationBarBackground' (0x107e2f2a0) >to 'UIButton' (0x107e357e0). (lldb)

我绝对确定我的新导航栏有一个标签“10”。

Navigation Bar Tag

还有什么可能触发此消息?

最佳答案

您不应使用 0 标签,因为 0 是默认值,您可以获得任何 View (在本例中为导航背景)。

从 1 开始标记 View 。

关于ios - 无法转换类型的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34931666/

相关文章:

ios - 我可以在 iPhone 应用程序中嵌入自定义字体吗?

ios - 如何检测功能中的手指位置

ios - 如何在 Swift 中手动为 UIWebView 设置 Cookie

c# - 在Xamarin中为iOS发送同步请求

swift - 为 SwiftUI 应用程序设计类的正确架构是什么

ios - 如何设置导航栏标题的字体大小

ios - 印象笔记SDK : Cannot upload a note into my Sandbox account

swift - 隐藏和显示tableviewcell?

iPhone SDK 3.0 和 symbolicatecrash 相处不好?

ios - iOS 中的后台传输实际上是如何工作的?