Tôi đã tạo một tiện ích mở rộng trên 'Từ điển' để giúp tôi phân tích cú pháp JSON. Phương pháp dưới đây giúp tôi làm điều này:Biểu thức không tùy chọn thuộc loại 'AnyObject' được sử dụng trong một kiểm tra cho các tùy chọn
func toJSONString() -> String? {
if let dict = self as? AnyObject {
if let data = try? JSONSerialization.data(withJSONObject: dict, options: JSONSerialization.WritingOptions(rawValue: 0)) {
if let json = String(data: data, encoding: String.Encoding.utf8) {
return json
}
}
}
return nil
}
Vấn đề này xảy ra trên dòng này:
if let dict = self as? AnyObject {
tôi nhận được một cảnh báo nói rằng "biểu hiện không bắt buộc của loại 'AnyObject' được sử dụng trong một tấm séc cho optionals "
Tôi làm cách nào để giải quyết vấn đề này?
Bạn không cần phải bỏ hoặc đúc 'tự', bạn đã biết đó là từ điển. Chỉ cần chuyển 'self' trực tiếp đến hàm' JSONSerialization.data (...) '. – dan
Thông báo lỗi cho biết: Đối tượng không phải là tùy chọn, nếu không thể sử dụng 'if let'. – vadian
Ahhh có ý nghĩa. Cảm ơn bạn rất nhiều –