Как проверить изображение ноль или нет?

Мне нужно проверить, является ли изображение нулевым или нет, которое я назначил одной из пар [ключ, значение] в словаре. Мне нужно отправить словарь в качестве параметра в методе Alamofire Post. Но я не мог передать параметр. Я покажу, что я сделал. Разъясни мне, что я сделал не так! и дай мне решение.

var parameters: [String : AnyObject ] = [
        "email" : "[email protected]",
        "password" : "password",
        "full_name": "XXX",
        "profile_pic" : UIImage(named: "abc")!
        ]
Alamofire.upload(
        .POST,
        "http://abc/public/user/register",
        multipartFormData: { multipartFormData in


            for (key, value) in parameters {

            multipartFormData.appendBodyPart(data: value.dataUsingEncoding(NSUTF8StringEncoding)!, name: key)
            }
        },
        encodingCompletion: { encodingResult in
            switch encodingResult {
            case .Success(let upload, _, _):
                upload.responseJSON { response in


                    debugPrint(response)

                }
            case .Failure(let encodingError):
                print(encodingError)
            }
        }
    )

Я сталкиваюсь с сообщением об ошибке: нераспознанный селектор отправлен в экземпляр. Я хотел бы получить успешный ответ, даже если profile_pic равен нулю или нет. Я получаю ответ успеха, если я добавляю изображение как это multipartFormData.appendBodyPart(fileURL: unicornImageURL, name: "unicorn"),

Конечным результатом является то, что в ответе должно быть сказано, что регистрация пользователя прошла успешно, даже если он загружает изображение профиля или нет. Потому что это необязательное поле, верно?!

2 ответа

Вы не можете установить ключ на ноль в такой коллекции. Вам необходимо проверить, существует ли он.

var parameters: [String : AnyObject ] = [
  "email" : "[email protected]",
  "password" : "password",
  "full_name": "XXX",
]

if let image = UIImage(named: "abc") {
  parameters["profile_pic"] = image
}

Через некоторое время я наткнулся на этот ответ. Надеюсь это поможет. Да, мы не можем установить значение nil в коллекции согласно ответу Dare. Но мы можем пропустить значение, если мы не хотим, чтобы значение было включено в параметр с помощью необязательной цепочки и приведения типов. Посмотрите мой ответ здесь, как передать значение nil для одного из параметров в alamofire Post request

Другие вопросы по тегам