簡體   English   中英

Swift If語句數組操縱范圍

[英]Swift If-Statement Array Manipulation Scope

我有一個要操縱的基本數組。 似乎在if語句的括號內,我可以成功地操縱數組(屏幕的右側顯示值已更改); 但是,一旦離開if語句,更改似乎就消失了(屏幕的右側顯示的是原始值,而不是更改后的值)。 謝謝您的幫助!

var originalInfo = """
This
Is
A
Test
String
"""

// split string

var SplitInfo = originalInfo.split(separator: "\n")

// Manipulate Array

if SplitInfo[1].hasPrefix("I") == true {
    SplitInfo[1].replacingOccurrences(of: "s", with: "s not")
}

SplitInfo[1]

方法replaceOccurences(of:with:)返回具有新值的String,因此您需要將新值分配給變量

SplitInfo[1] = SplitInfo[1].replacingOccurrences(of: "s", with: "s not")

只有這樣,您才能看到更改。 如果單擊該方法並檢查Xcode右窗格中的“快速幫助”部分,則會看到

Range<String.Index>? = default) -> String

-> String表示它返回一個字符串,因此您需要將其分配給某些東西。

如果您要維護String分割字符串

var SplitInfo = originalInfo.components(separatedBy: "\n") 

這將返回[String]而不是子字符串。

希望這可以幫助。

  • 根據OP的評論進行編輯*

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM