Skip to content

Commit 8152fe4

Browse files
author
Itai Ferber
committed
Add interal allObjects on NSOrderedSet
1 parent 1d5f892 commit 8152fe4

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

Foundation/NSOrderedSet.swift

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,16 @@ open class NSOrderedSet : NSObject, NSCopying, NSMutableCopying, NSSecureCoding,
120120
_insertObject(obj)
121121
}
122122
}
123+
124+
internal var allObjects: [Any] {
125+
if type(of: self) === NSOrderedSet.self || type(of: self) === NSMutableOrderedSet.self {
126+
return _orderedStorage.map { _SwiftValue.fetch($0) }
127+
} else {
128+
return (0..<count).map { idx in
129+
return self[idx]
130+
}
131+
}
132+
}
123133
}
124134

125135
extension NSOrderedSet : Sequence {

Foundation/NSPredicate.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,8 @@ extension NSMutableSet {
127127

128128
extension NSOrderedSet {
129129
open func filtered(using predicate: NSPredicate) -> NSOrderedSet {
130-
return NSOrderedSet(array: self._orderedStorage.filter({ object in
131-
return predicate.evaluate(with: _SwiftValue.fetch(object))
130+
return NSOrderedSet(array: self.allObjects.filter({ object in
131+
return predicate.evaluate(with: object)
132132
}))
133133
}
134134
}

0 commit comments

Comments
 (0)