Anu*_*hra 5 custom-object arrayobject ios swift
我有这样的自定义类 -
class Event: NSObject
{
var eventID: String?
var name:String?
}
Run Code Online (Sandbox Code Playgroud)
现在我有一个Event
像对象的数组
var events = [Event]()
var event1 = Event()
event1.eventID = "1"
event1.name = "Anu"
var event2 = Event()
event2.eventID = "2"
event2.name = "dev"
var event3 = Event()
event3.eventID = "1"
event3.name = "Anu"
events.append(event1)
events.append(event2)
events.append(event3)
Run Code Online (Sandbox Code Playgroud)
从数组中获取unque eventID我已经编写了这样的代码,它工作得很好 -
func getUniqueIDsFromArrayOfObjects(events:[Event])->NSArray
{
let arr = events.map { $0.eventID!}
let uniquearr:NSMutableArray = NSMutableArray()
for obj in arr
{
if !uniquearr.containsObject(obj) {
uniquearr.addObject(obj)
}
}
return uniquearr;
}
print(getUniqueIDsFromArrayOfObjects(events))
Run Code Online (Sandbox Code Playgroud)
我想知道是否有任何替代方法可以比我使用的更有效地从对象数组中获取唯一ID.可能是使用的东西NSPredicate
.
因为一个数组有thousands
对象,我的代码会做更多的迭代.
Pau*_*w11 10
您可以使用a Set
来仅获取唯一值.我建议你让你的函数返回一个Swift数组而不是NSArray.
func getUniqueIDsFromArrayOfObjects(events:[Event])->[String]
{
let eventIds = events.map { $0.eventID!}
let idset = Set(eventIds)
return Array(idset)
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3789 次 |
最近记录: |