Цель: у меня есть два разных класса и два массива, содержащие элементы каждого класса. Используя Swift 2.0, я хотел бы найти уникальные элементы одного массива по сравнению с другими на основе конкретных атрибутов каждого класса.iOS Swift: как найти уникальные элементы массивов разных типов на основе определенных атрибутов
Пример:
class A {
var name: String
init(name: String) {
self.name = name
}
}
class B {
var title: String
init(title: String) {
self.title = title
}
}
let aArray = [A(name:"1"), A(name:"2"), A(name:"3"), A(name:"4")]
let bArray = [B(title:"1"), B(title:"2"), B(title:"5")]
Итак, я ищу какие-либо операции между aArray и Баррэ, которая возвращает 3-й и 4-й элемент aArray, потому что они являются уникальными в aArray, где основа для сравнения является атрибуты A.name
и B.title
.
Конечно, при обратном порядке операции выбирается третий элемент bArray, потому что он уникален в bArray.
Я знаю, что могу выполнить задачу прямо с помощью простой петли, но я надеялся на что-то более элегантное и более оптимизированное. Но если цикл for работает так же быстро или быстрее, чем что-либо более интересное, я с удовольствием использую его так же хорошо.
Благодаря nhgrif, именно то, что я искал! Очень лаконично и работает. Да, мне нужно больше узнать о функциях карты и фильтра. – davejlin
Хороший тент, это то, что я ищу, но вторая часть кода не работала от меня:/ Это изменение любой ссылки с новыми версиями Swift? –
Какая часть точно дает ошибку и что такое ошибка? – nhgrif