Merge pull request #918 from rxwei/master
diff --git a/Foundation/NSOrderedSet.swift b/Foundation/NSOrderedSet.swift
index 33b5f4e..9f85df1 100644
--- a/Foundation/NSOrderedSet.swift
+++ b/Foundation/NSOrderedSet.swift
@@ -391,6 +391,16 @@
_storage.remove(value)
_orderedStorage.remove(at: index(of: object))
}
+
+ open override subscript(idx: Int) -> Any {
+ get {
+ return object(at: idx)
+ }
+ set {
+ replaceObject(at: idx, with: newValue)
+ }
+ }
+
}
extension NSMutableOrderedSet {
diff --git a/TestFoundation/TestNSOrderedSet.swift b/TestFoundation/TestNSOrderedSet.swift
index d043824..10761b3 100644
--- a/TestFoundation/TestNSOrderedSet.swift
+++ b/TestFoundation/TestNSOrderedSet.swift
@@ -207,10 +207,11 @@
func test_ReplaceObject() {
let set = NSMutableOrderedSet(arrayLiteral: "foo", "bar", "baz")
set.replaceObject(at: 1, with: "123")
+ set[2] = "456"
XCTAssertEqual(set.count, 3)
XCTAssertEqual(set[0] as? String, "foo")
XCTAssertEqual(set[1] as? String, "123")
- XCTAssertEqual(set[2] as? String, "baz")
+ XCTAssertEqual(set[2] as? String, "456")
}
func test_ExchangeObjects() {