我有一个自定义类,像这样 -
现在我有一个像这样的
为了从数组中获取唯一的事件ID,我编写了以下代码,它可以很好地工作:
class Event: NSObject
{
var eventID: String?
var name:String?
}
现在我有一个像这样的
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)
为了从数组中获取唯一的事件ID,我编写了以下代码,它可以很好地工作:
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))
我想知道是否有一种比我现在使用的更有效的方法来从对象数组中获取唯一的ID。也许可以使用NSPredicate
实现。
因为一个包含数千
个对象的数组,我的代码将进行更多的迭代。