【问题标题】:Swift "Extraneous argument label in 'contentsOf' in call" when trying to use insert on a String尝试在字符串上使用插入时,Swift“调用中的'contentsOf'中的无关参数标签”
【发布时间】:2018-03-21 03:07:31
【问题描述】:

我在快速操场上工作,同时浏览 Apple 网站上的 Swift 文档。特别是here. 首先我不得不说这非常具有挑战性,因为他们描述的几种方法不是最新的,并且语法与文档中的不同。到目前为止,我已经在此处提出的先前问题中找到了我所有问题的答案。这个我好像找不到确切的。无论如何,我已经诉诸直接从文档中复制粘贴代码,但它仍然无法正常工作。这里是:

import UIKit
var welcome = "hello"
welcome.insert(contentsOf: " there", at: welcome.index(before: welcome.endIndex))

我被告知 contentOf 是无关的。斯威夫特甚至在我输入时建议了这个确切的方法,参数标签等等。非常感谢任何见解。

编辑:谢谢大家,回答。

【问题讨论】:

  • 您正在阅读 Swift 4 的文档,该文档仍处于测试阶段。您可能想使用 Xcode 9 测试版,等待今年秋天的正式发布,或者查找一些较旧的文档。
  • FWIW,这是在 Xcode 8 操场上发生的
  • 嗯,好的,谢谢你们。我没有意识到 swift 4 仍处于测试阶段。

标签: swift


【解决方案1】:

由于函数的重载性质,该错误令人困惑。真正的问题是你传递给它的是一个字符串而不是一个集合。

试试这个:

welcome.insert(contentsOf: " there".characters, at: welcome.index(before: welcome.endIndex))

【讨论】:

  • 谢谢,就是这样。
【解决方案2】:

斯威夫特 4

如果您尝试将一个字符串插入另一个字符串,这将起作用。

welcome.insert(contentsOf: String(" there"), at: welcome.index(welcome.startIndex, offsetBy: 5))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-15
    • 1970-01-01
    • 2017-09-14
    • 2016-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多