Skip to content

Commit d84db67

Browse files
committed
Add NSMutableOrderedSet subscript setter that is missing from non-Darwin
1 parent 3c78f9c commit d84db67

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

Foundation/NSOrderedSet.swift

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -391,6 +391,16 @@ open class NSMutableOrderedSet : NSOrderedSet {
391391
_storage.remove(value)
392392
_orderedStorage.remove(at: index(of: object))
393393
}
394+
395+
open override subscript(idx: Int) -> Any {
396+
get {
397+
return object(at: idx)
398+
}
399+
set {
400+
replaceObject(at: idx, with: newValue)
401+
}
402+
}
403+
394404
}
395405

396406
extension NSMutableOrderedSet {

TestFoundation/TestNSOrderedSet.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,10 +207,11 @@ class TestNSOrderedSet : XCTestCase {
207207
func test_ReplaceObject() {
208208
let set = NSMutableOrderedSet(arrayLiteral: "foo", "bar", "baz")
209209
set.replaceObject(at: 1, with: "123")
210+
set[2] = "456"
210211
XCTAssertEqual(set.count, 3)
211212
XCTAssertEqual(set[0] as? String, "foo")
212213
XCTAssertEqual(set[1] as? String, "123")
213-
XCTAssertEqual(set[2] as? String, "baz")
214+
XCTAssertEqual(set[2] as? String, "456")
214215
}
215216

216217
func test_ExchangeObjects() {

0 commit comments

Comments
 (0)