当前位置: 首页 > 面试题库 >

无法使用情节提要挂钩Xcode 6中的插座集合

夏经武
2023-03-14
问题内容

我在Xcode
6中创建插座集合时遇到麻烦。Xcode6中的插座集合现在可以用作常规IBOutlets,并且您使用相同的@IBOutlet属性来声明插座集合,同时确保为该类型指定一个数组。我已经在我的视图控制器的快速文件中做到了这一点,即

@IBOutlet var cardButtons: UIButton[]

在Xcode 5中,当一个控件使用助手编辑器从情节提要中的元素拖到情节提要中时,将为它们提供一个用于创建出口或出口集合的选项。这似乎在Xcode
6中不再可能了,我的猜测是因为网点和网点集合现在共享相同的@IBOutlet属性。我应该如何创建一个包含10个按钮的插座集合,而又无法控制将每个按钮从情节提要视图中拖动并连接到我的故事板上

@IBOutlet var cardButtons: UIButton[]

我的视图控制器swift文件中的属性?


问题答案:

正确无误,只需要更正式地定义数组即可:

@IBOutlet var cardButtons: Array<UIButton>

现在您将能够连接IB的按钮。

上面的方法 应该可以 工作,但是在Xcode 6 beta 3中仍然无效。一种解决方法是使用NSArrayXcode和Swift可以正确处理此问题:

class ViewController: UIViewController {
    @IBOutlet strong var labels: NSArray!

    override func viewDidLoad() {
        super.viewDidLoad()

        for label in self.labels as [UILabel] {
            label.textColor = UIColor.redColor()
        }
    }
}


 类似资料:
  • 我有一个节点。js服务器使用socket。io和Android应用程序。我希望我的应用程序连接到服务器。(我在当地工作) 首先我启动服务器:命令提示符 以下是代码: 然后我试着从这里的活动中联系起来: 我的问题是,我从来没有在服务器上看到“一个用户连接”的日志,但我总是在android日志上看到“尝试连接”和“连接成功”。 有人能帮我解开这个谜团吗? 使现代化 我的代码工作正常,但我遇到了一些Wi

  • 我读过使用XCode故事板来实例化使用XIB进行设计的视图控制器,但我在Swift(使用XCode 6 Beta 6)中遇到了困难。我想知道是我做错了什么,还是这个功能不再可用了? 我创建了一个简单的存储库https://github.com/jer-k/storyboardtesting-swift,它展示了上述方法。 我通过添加并重写到init来解决这个问题 但我想知道是否仍有可能让故事板为我

  • 从 react 导入 useState,将其粘贴到正文函数,但 react 告诉我错误的使用钩子。虽然另一个钩子像这样工作。

  • 我有以下反应组件 它拥有的唯一状态是调用中使用useState钩子定义的参与者的hashTable。 然后,我使用useEffect来监听聊天室的套接字事件—只有4个事件 然后在那之后,我定义了4个回调处理程序,这些事件与服务器上执行的顺序有关 最后,我有另一个回调函数,它传递给列表中的每个子参与者,以便在子组件创建其rtcPeer对象后,将其发送给父组件,以便在参与者的hashTable中的参与

  • 问题内容: 尝试从情节提要中自定义实例化窗口控制器时,我得到的感觉像是个错误。我正在使用NSStoryboard.instantiateController(identifier:creator:),这是MacOS 10.15中的新功能。有问题的代码块是: 我已经成功地将这个确切的代码用于自定义实例化主 视图 控制器,并将该视图分配给一个新窗口和一个新窗口控制器。很好 我还可以使用老式方法实例化

  • 问题内容: 我将钩子beforeCreate定义如下: 当我创建模型时 现在我从中得到的是 似乎代码的每个部分都在工作。创建用户模式将调用beforeCreate,它将正确生成密码的哈希码....,但它没有写入数据库! 我确定我错过了非常重要且显而易见的代码,但我只是找不到问题所在(啊)。任何帮助表示赞赏! 问题答案: 在Sequelize中,钩子是通过异步方式调用的,因此完成后需要调用完成回调: