Я следил за онлайн-учебным пособием, который помогает в создании QR-кода. Моя цель состоит в том, что созданный QR-код будет храниться в Parse DB как файл и локально в userObject как UIImage. Когда я побежал мой код ниже, это вызвало следующую ошибку:Swift - исключение запуска фильтра UIImage
2015-12-06 12:43:45.994 Mawq[7246:279805] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key inputImage.'
Код для создания QR-кода я использовал:
print("1")
let data = userObject.username!.dataUsingEncoding(NSISOLatin1StringEncoding, allowLossyConversion: false)
print("2")
let filter = CIFilter(name: "CIQRCodeGenerator")
print("3")
filter!.setValue(data, forKey: "QRImage")
print("4")
let newQRImage = UIImage(CIImage: filter!.outputImage!);
print("5")
user["qrCode"] = newQRImage;
print("6")
userObject.userQRCode = newQRImage;
print("7")
Печать заявления просто знать, где инициируется ошибка , По-видимому, как показано на консоли, после печати строки 3 это происходит неправильно. Следующее учебное пособие приведено здесь: http://www.appcoda.com/qr-code-generator-tutorial/.
userObject, где я хочу, чтобы сохранить изображение выглядит следующим образом:
public class UserClass {
var name: String?
var email: String?
var password: String?
var mobile: String?
var username: String?
var tempToken: Int?
var userQRCode: UIImage?
}
Это мой первый раз использовать UIKit для достижения этого результата ... так что любая помощь приветствуется.
Благодаря
Является ли переменная фильтра nil после того, как вы создали ее с помощью CIFilter (имя: «CIQRCodeGenerator»)? – andlin
Что такое 'filter !.setValue (data, forKey:« QRImage »)' должен делать? Он не указан в учебнике. – luk2302
@ luk2302 он находится в учебнике как filter.setValue (data, forKey: "inputMessage") –