當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Swift String.UnicodeScalarView replaceSubrange(_:with:)用法及代碼示例


實例方法

replaceSubrange(_:with:)

用給定的集合替換指定的元素子範圍。

聲明

mutating func replaceSubrange<C, R>(
    _ subrange: R,
    with newElements: C
) where C : Collection, R : RangeExpression, Self.Element == C.Element, Self.Index == R.Bound

參數

subrange

要替換的集合的子範圍。範圍的邊界必須是集合的有效索引。

newElements

要添加到集合中的新元素。

詳述

此方法具有從集合中刪除指定範圍的元素並在同一位置插入新元素的效果。新元素的數量不必與要移除的元素的數量相匹配。

在此示例中,整數數組中間的三個元素被 Repeated<Int> 實例的五個元素替換。


 var nums = [10, 20, 30, 40, 50]
 nums.replaceSubrange(1...3, with: repeatElement(1, count: 5))
 print(nums)
 // Prints "[10, 1, 1, 1, 1, 1, 50]"

如果您將零長度範圍作為 subrange 參數傳遞,此方法會在 subrange.startIndex 處插入 newElements 的元素。最好調用 insert(contentsOf:at:) 方法。

同樣,如果您將零長度集合作為newElements 參數傳遞,則此方法將刪除給定子範圍中的元素而不進行替換。最好調用removeSubrange(_:) 方法。

調用此方法可能會使用於此集合的任何現有索引無效。

可用版本

iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+

相關用法


注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 String.UnicodeScalarView replaceSubrange(_:with:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。