亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java 到 Swift 的轉換 - 如何在 Swift 中增加索引計數

Java 到 Swift 的轉換 - 如何在 Swift 中增加索引計數

SMILET 2022-07-14 17:31:28
這看起來很簡單,但我被卡住了。我得到了通常的 Index Out Of Bounds Swift 錯誤。似乎Java可以從一開始就設置數組的索引數量,也可以增加索引的總數。我知道問題出在哪里,但我不知道這個 Java 函數的 Swift 等價物。Java 函數有一個后置增量器,用于增加 EMPTY 數組的索引計數。我不知道如何在 Swift 中編寫它。使用 Swift 你必須使用 append。您不能在空數組上使用下標。加上我不知道如何增加索引計數。如何將此 Java 轉換為 Swift?爪哇private int[] theArray;private int itemsInArray = 0;public void addItemToArray(int newItem) {        theArray[itemsInArray++] = newItem;    }迅速var theArray = [Int]()var itemsInArray = 0func addItemArray(newItem: Int) {    theArray[itemsInArray] += newItem}addItemArray(newItem: 5)
查看完整描述

1 回答

?
瀟瀟雨雨

TA貢獻1833條經驗 獲得超4個贊

Array根據文檔,使用默認大小初始化


var theArray = Array(repeating: "", count: itemsInArray) // Where repeating is the contained type 

然后你可以insert通過


theArray.insert(newItem, at: yourIndex)

Array(s) 在 Java 中必須有一個首字母size,創建后不能更改。然而 Swift 有與 Java 類型相當的Collection<T>類型,Java 類型可以有 variable size。


例如


private int[] theArray;

將編譯,但它也會NullPointerException在第一次訪問時產生 a,因為它沒有正確初始化


private int[] theArray = { 1, 2, 3, 4 };

private int[] theArray = new int[10];

在 Java 和 Swing 中,您還需要小心使用myArray[index]Java 中的表示法或myArray.insert(item, at: index)Swing 中的表示法訪問正確的索引范圍。


您的示例的 Java 行theArray[itemsInArray++] = newItem意味著


將newItem值分配給itemsInArray索引

增量itemsInArray(參見后增量運算符)

在 Swift 中,您只需將一個新元素附加到Array,您甚至不需要維護一個索引itemsInArray


var theArray = ["One", "Two", "Three"]

theArray.append("Four")


var theIntegerArray = [1, 2, 3]

theIntegerArray.append(4)

或使用空數組


var theIntegerArray: Array<Int> = []

theIntegerArray.append(4)

是的,您可以使用repeatingwithInteger值。只是


Array(repeating: 0, count: itemsInArray)


查看完整回答
反對 回復 2022-07-14
  • 1 回答
  • 0 關注
  • 112 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號