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

Swift3中的NSIndexPath初始化如何更改?

孔嘉茂
2023-03-14
问题内容

我正在尝试遵循Apple的“
开始开发iOS应用程序(Swift)”教程,并且几乎完成了该教程。当我使用Xcode
8(我认为使用Swift 3而不是Swift 2)时,不得不修改本教程的几个部分。但是,我遇到了以下编译器错误,我不知道为什么:

Argument labels (forRow:, inSection) do not match any available overloads

在以下功能中:

@IBAction func unwindToMealList(sender: UIStoryboardSegue) {

    if let sourceViewController = sender.sourceViewController as? MealViewController, meal = sourceViewController.meal {
        // Add a new meal
        let newIndexPath = NSIndexPath(forRow: meals.count, inSection: 0)
        meals.append(meal)
        tableView.insertRows(at: newIndexPath, with: .bottom)
    }

}

我猜想有一个不同的NSIndexPath初始化程序在Swift 3中已更改,但我找不到它。难道我做错了什么?

谢谢,


问题答案:

NSIndexPath 已更改为 IndexPath

尝试 IndexPath(row: Int, section: Int)

API参考:indexpath

Swift 3.0开发人员预览版



 类似资料:
  • 我有一个非常基本的问题。我需要如何为ArrayList键入parrameters才能在BlueJ中使用代码?我有一个方法如下。

  • 问题内容: 我无法按照以下代码初始化列表: 我遇到以下错误: 无法实例化类型 我该如何实例化? 问题答案: 如果你检查API,则会注意到它说: 作为一种手段,它无法实例化(不可能)。 如果你检查该链接,则会发现一些实现的: 所有已知的实施类: 那些可以实例化。使用它们的链接来了解有关它们的更多信息,即IE:知道哪个更适合你的需求。 三种最常用的可能是: 奖励: 你还可以使用,以更简单的方式使用值实

  • 问题内容: 我正在跟踪Swift和Objective-C Runtime,它适用于常规方法。 我喜欢使用init方法,据我了解,init就像一个类方法。因此,我尝试将初始化作为实例和类方法。但这似乎不起作用 我可以使用Objective C使其工作,只是想知道如何在Swift中使其工作 摘录自我的要旨 问题答案: 为方法创建选择器时,应使用Obj C方法签名作为选择器的基础,因为使用Obj C运行

  • 问题内容: 错误 码 问题答案: 您需要初始化 ,如错误消息所示,您仅对其进行了声明。 您需要初始化数组,以便可以 在 开始设置索引 之前 为元素分配正确的内存存储。 __ 如果 仅 声明数组(如您所做的那样),则不会为元素分配内存,而只会分配给的引用句柄,并且尝试在任何索引处初始化变量时都会引发错误。 另外,您也可以在花括号内初始化数组,这样, 相当于

  • 我正在尝试初始化,但它不允许我。我已经能够初始化。

  • 我有个问题. 如何使用我在前面的 StackOverflow 问题中找到的方法初始化 JavaFX 工具包?可以在此处找到该主题:JavaFX 2.1:工具包未初始化 我正在尝试从该线程使用类似于此解决方案的解决方案: 问题:非平凡的Swing GUI应用程序需要运行JavaFX组件。应用程序的启动过程在启动依赖服务层后初始化GUI。 解决方案子类JavaFX应用程序类,并在单独的线程中运行,例如