Ответ 1
Это ваша ошибка
var appDelegate=AppDelegate() //You create a new instance, not get the exist one
Вам нужно открыть доступ к AppDelegate
let appDelegate = UIApplication.shared.delegate as! AppDelegate
Я сохраняю некоторые данные в переменной appdelegate с viewcontroller и извлекаю их из другого контроллера view.Bowow - это код делегата приложения
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
var navigationController: UINavigationController?
var mainDic:NSMutableDictionary?
Код для установки mainDic
func filterResponse(response:NSDictionary){
var appDelegate=AppDelegate()
appDelegate.mainDic=response.mutableCopy() as? NSMutableDictionary
}
Код для выбора словаря.
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
println(appDelegate.mainDic)
Проблема в том, что я получаю вывод nil.Пожалуйста, сделайте меня правильно.
Это ваша ошибка
var appDelegate=AppDelegate() //You create a new instance, not get the exist one
Вам нужно открыть доступ к AppDelegate
let appDelegate = UIApplication.shared.delegate as! AppDelegate
Swift 4.0
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let aVariable = appDelegate.value
Swift 3.0
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let aVariable = appDelegate.someVariable
Swift 2.0
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let aVariable = appDelegate.someVariable
func appDelegate() -> AppDelegate {
return UIApplication.sharedApplication().delegate as! AppDelegate
}