onbackpressed в программе выбора файлов шоу

Закрытия могут быть объявлены как typealias ниже

typealias Completion = (Bool, Any, Error) -> Void

Если вы хотите использовать в своей функции в любом месте кода; вы можете написать как обычную переменную

func xyz(with param1: String, completion: Completion) {
}
0
задан f.khantsis 20 March 2019 в 16:22
поделиться

1 ответ

Когда пользователь нажимает назад, результатом является RESULT_CANCELED , а полученное data значение равно нулю. Таким образом, приложение вылетает при вызове data.getData(), когда вы вызываете getData() для нулевого объекта. Есть несколько способов обойти это: вы можете проверить, что такое resultCode, и убедиться, что это RESULT_OK. Вы также можете просто проверить, является ли data Intent нулевым, прежде чем пытаться получить из него данные:

if (requestCode == PICK_IMAGE_REQUEST) {
    if (data != null) {
        filePath = data.getData(); 
    } else {
        // Note: if filePath is by default null, you don't need this else statement
        filePath = null; 
    }
    if (filePath != null) {
        ...
0
ответ дан jguerinet 20 March 2019 в 16:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: