Я нашел строку в своем коде, которая не нравится запускаться на iOS8, но имеет способ выполнить одну и ту же задачу на iOS8 с другой логикой, что doesn Мне нравится iOS9.if #доступный (iOS 9, *) Не работает
Я использовал if #available(iOS 9, *)
для выполнения кода, который мне нужен, для iOS9 и кода на iOS8. Однако при запуске, после нескольких вызовов функции, устройство iOS9 запускает код, который он не должен, и сбой. Я пропустил шаг в настройке if #available(iOS 9, *)
?
Код ниже
if #available(iOS 9, *) {
if(self.otherChats[loc].last?.timestamp! != messageObj.timestamp!){
self.otherChats[loc].append(messageObj)
self.Notfication.postNotificationName(_Chat.Notification.DidGetMessage, object: nil)
}
} else {
self.otherChats[loc].append(messageObj)
self.Notfication.postNotificationName(_Chat.Notification.DidGetMessage, object: nil)
}
if '(self.otherChats [loc] .last? .timestamp!! = MessageObj.timestamp!)' Был true или false, он никогда не должен проходить мимо 'else', поскольку' else' связан с 'if #available (iOS 9, *) {' – Mark
@MarkMasterson, это именно то, что я пытаюсь сказать. Вы уверены, что это было в блоке '# available' else? Потому что результат тот же в обоих. Вы поместили там log/brakepoint? Если да, то это, вероятно, ошибка, и лучше сообщить об этом Apple через http://bugreport.apple.com. – FreeNickname