2015-08-08 52 views

回答

0

正如thefredelement你可以在你的ViewController B之间使用NSNotification对于像刚才添加的代码,当你解雇视图的ViewController答:

@IBAction func goBack(sender: AnyObject) { 

    NSNotificationCenter.defaultCenter().postNotificationName("refresh", object: nil) 
    self.dismissViewControllerAnimated(true, completion: nil) 
} 

而在你的viewController一个在你的viewDidLoad方法添加以下代码:

override func viewDidLoad() { 
    super.viewDidLoad() 
    NSNotificationCenter.defaultCenter().addObserver(self, selector: "refreshList:", name:"refresh", object: nil) 
} 

而且在同一个类中添加这个辅助方法:

func refreshList(notification: NSNotification){ 

    println("parent method is called") 
    //you can change your UIImageView's Image here. 

} 

现在,当你永远从视图控制器B按下按钮,它会调用从视图控制器A.此方法

注:我已经和Xcode 6.4测试这一点,我认为它会正常工作和Xcode 7太多。

+0

还有一个问题,我如何保存settin克的壁纸? –

+0

我没有找到你 –

+0

因此,在我更改背景图像后,如何使用NSUserDefaults保存将保留在该图像上的数据? –

-3

这里是你如何与NSUserDefaults

的工作,你这样写:

let defaults = NSUserDefaults.standardUserDefaults() 

defaults.setObject(image!, forKey: "image") 

,读这样的:

let defaults = NSUserDefaults.standardUserDefaults() 

let image = defaults.objectForKey("image") as! UIImage 

,并将其设置为imageView

+1

你为什么添加这个答案?这个问题甚至没有涉及到这个问题,你还没有格式化代码,而且你碰到了一个超过一年的问题,它已经有了一个可以接受的答案。不要这样做。 – Fogmeister

+1

这是一个不好的解决方案。为了能够在另一个视图中获取图像,将图像保存到磁盘不是最优的,要有礼貌。 – Moritz

相关问题