【问题标题】:How do I write a 2D array of Characters in Swift?如何在 Swift 中编写二维字符数组?
【发布时间】:2016-06-30 03:42:43
【问题描述】:

我正在尝试将这段 Java 代码翻译成 Swift,但到目前为止我还没有运气。

public final int rows = 6;
public final int columns = 7;
public char board[][] = new char[rows][columns];

基本上,我想创建一个(字符)的二维数组,其中行和列变量给出二维数组的维度(大小)。

【问题讨论】:

  • 仅供参考:我认为反对票是因为这个问题很有趣,但我们需要一些 Swift,然后是 something、一个错误、一个故障点等。

标签: arrays xcode swift


【解决方案1】:

var rows: Int = 6 var columns: Int = 7

let data: [[Character]] = [[Character]](count: rows, repeatedValue: [Character](count: columns, repeatedValue: " "))

它将用空值初始化所有Characters

【讨论】:

    【解决方案2】:
    var rows: Int = 6
    var columns: Int = 7
    var boardColumns: [Character] = [Character](count: rows, repeatedValue: "c")
    var board: [[Character]] = [[Character]](count: columns, repeatedValue: boardColumns)
    

    在 swift 中,您必须在声明时初始化一个非可选变量。您可以通过以下方式将其设为可选:

    var rows: Int = 6
    var columns: Int = 7
    var boardColumns: [Character?] = [Character?](count: rows, repeatedValue: nil)
    var board: [[Character?]] = [[Character?]](count: columns, repeatedValue: boardColumns)
    

    使数组中的值成为可选的,或者你可以将整个东西声明为可选的,但你必须先将它声明为某个东西,然后才能使用它。

    var board: [[Character]]?
    

    如果你想给它附加值,你可以像这样初始化它

    var board: [[Character]] = [[]]
    

    【讨论】:

    • 我尝试在我的项目中添加第二段代码,但出现此错误:由于信号,命令失败:分段错误:11
    • 我是凭记忆写的,但很接近。第二段代码我有 99% 的把握。我会编辑它。
    • 对不起,我从不使用字符。显然我不适合使用 Char >.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-28
    • 1970-01-01
    相关资源
    最近更新 更多