#swift #notifications #alert
#swift #уведомления #предупреждение
Вопрос:
У меня есть приложение для фотокамеры, которое также может сканировать QR-коды и считывать их. У меня также есть кнопка, которая открывает ссылку на QR-код при ее нажатии. Не могли бы вы, пожалуйста, помочь мне, как отобразить уведомление о предупреждении для пользователей, которые сканируют коды, которые не работают. В тот момент, когда я сканирую поддельный QR-код, приложение вылетает и перестает работать. Я хочу предотвратить это и отобразить уведомление примерно такого типа: «Этот QR-код не работает, пожалуйста, попробуйте другой».
На данный момент я создал этот код:
func openJSON(_ Person: String)
{
let jsonData1 = (try? Data(contentsOf: URL(string: "(transffered text)")!)) as Data!
var error : NSError?
let ReadableJSON1 = JSON ( data:jsonData1!, options: JSONSerialization.ReadingOptions.mutableContainers, error: nil )
if (error != nil){
let myAlert = UIAlertController(title: "Please try another QR", message: error?.localizedDescription, preferredStyle: .alert)
let okAction = UIAlertAction(title: "Ok", style: .default, handler: nil)
myAlert.addAction(okAction)
self.present(myAlert, animated: true, completion: nil)
return
}
Комментарии:
1. Вы получаете ошибку при попытке представить контроллер оповещений?
Ответ №1:
Вы устанавливаете ошибку как nil в своем методе JSON, поэтому ваша переменная error всегда будет равна nil. Убедитесь, что вы используете последнюю версию SwiftyJSON.swift.
var error: NSError?
let ReadableJSON1 = JSON(data: jsonData1!, options: .mutableContainers, error: amp;error)
Комментарии:
1. попробуйте без amp;
2. Хорошо, каков ожидаемый тип параметра error в
JSON()
? Является ли это необязательнымNSErrorPointer
? Щелкните правой кнопкой мыши используемый вами метод инициализации JSON и выберите перейти к определению.3. Хорошо, когда вы делаете ошибку nil в
JSON()
, вы получаете ошибку компиляции или приложение запускается? Кроме того, какую версию SwiftyJSON вы используете?