Я занимаюсь своей первой настройкой покупок в приложении в моем первом проекте Swift. Я пытаюсь получить строку приложения из моего UserDefaults вместо того, чтобы испечь его в виде фиксированной строки, но я получаю сообщение об ошибке «Неустранимая ошибка: неожиданно найдено нуль при разворачивании необязательного значения»NSSet динамический объект - Swift
Я звоню переменную из UserDefaults следующим образом:
var bundleIdentity : AnyObject!
NSUserDefaults.standardUserDefaults().synchronize()
var userDefaults = NSUserDefaults.standardUserDefaults()
if let myBundle: AnyObject? = userDefaults.objectForKey("bundle") {
bundleIdentity = myBundle as String
}
Теперь я пытаюсь использовать его в моей Func «getProductInfo»:
func getProductInfo(){
if SKPaymentQueue.canMakePayments(){
let productID:NSSet = NSSet(object:self.bundleIdentity!)
let request:SKProductsRequest = SKProductsRequest(productIdentifiers: productID)
request.delegate = self
request.start()
}
}
Я знаю, что «bundleIdentity» приходит в, как я могу напечататьLN это как строка, но я смущен, почему я не могу использовать его в NSSet (object: self.bun dleIdentity!) и получить ошибку.
Любая помощь будет высоко оценена, поскольку я все еще новичок в Swift!
Благодаря
Сообщение означает, что именно он говорит: этот объект равен нулю. Вы говорите, что можете напечатать это как строку, но я не вижу, чтобы вы это делали. Вопрос не в том, можете ли вы напечатать его в другом коде. Вопрос в том, что происходит, когда вы печатаете его прямо там, когда вы пытаетесь передать его NSSet. Если вы попробуете, вы увидите, что это действительно нуль. – matt