После интенсивного гугления и мозгового штурма я не могу найти решение, поэтому давайте посмотрим, есть ли в Stack Overflow волшебное решение, которое мне нужно. Я использую структуру контактов для получения дат из контакта. Тем не менее, это работает хорошо, но мне нужно отсортировать даты, чтобы это сработало. В результате я extending
и Array
из CNContact
, и внутри расширения у меня есть функция для выполнения моей работы. Ошибки не отображаются в Issue Navigator
, но когда я строю, я получаю проблему в Report Navigator
, говорящую Command Failed due to signal: Segmentation Fault 11
. Я действительно считаю, что проблема связана с тем, что я использую Generics, потому что навигатор отчетов указывает на эту строку, и мой поиск в Google предполагает, что именно отсюда исходит проблема, но у меня нет обходных путей. (Я очень подозреваю это, но я не совсем уверен.)
Позвольте поделиться с вами своим кодом: Это внутри моего расширения массива CNContacts.
typealias ContactDate = CNLabeledValue<NSDateComponents>
func filteredAndSortedDates() -> [ContactDate : CNContact] { // Error occurs on this line according to the issue.
var allDates: [ContactDate : CNContact] = [:]
var sortedDates: [ContactDate: CNContact] = [:]
for contact in self {
if contact.isKeyAvailable(CNContactDatesKey) {
for date in contact.dates {
allDates[date] = contact
}
}
}
for (key, value) in (Array(allDates).sorted {
date1, date2 in
if date1.key.value.month == date2.key.value.month {
return date1.key.value.day < date2.key.value.day
} else {
return date1.key.value.month < date2.key.value.month
}
}) {
sortedDates[key] = value
}
return sortedDates
}
self
в этом примере? - person Aaron   schedule 06.11.2016