2014-12-09 2 views
1

두 개의 뷰 컨트롤러가 있습니다. 하나는 주 컨트롤러이고 다른 하나는 설정보기 컨트롤러입니다. 설정 VC와 배경 VC의 배경색을 변경하도록 설정된 VC에 버튼이 있습니다. 그것은 메인보기 컨트롤러에서 액세스 할 수 있도록 NSUserDefaults에 색상을 저장합니다.NSUserDefaults의 값에서 주 뷰 컨트롤러 배경색을 변경합니다.

let defaults = NSUserDefaults.standardUserDefaults() 

@IBAction func red(sender: AnyObject) { 
    view.backgroundColor = (UIColor.redColor()) 
    NSUserDefaults.standardUserDefaults().setObject("red", forKey: "backColor") 
    NSUserDefaults.standardUserDefaults().synchronize() 

} 
@IBAction func green(sender: AnyObject) { 
    view.backgroundColor = (UIColor.greenColor()) 
    NSUserDefaults.standardUserDefaults().setObject("green", forKey: "backColor") 
    NSUserDefaults.standardUserDefaults().synchronize() 

} 
@IBAction func black(sender: AnyObject) { 
    view.backgroundColor = (UIColor.blackColor()) 
    NSUserDefaults.standardUserDefaults().setObject("black", forKey: "backColor") 
    NSUserDefaults.standardUserDefaults().synchronize() 

내가 스위프트와 새로 온 사람과 누르면 버튼에서 NSUserDefaults에 저장되어있는 내용에 따라 주요 VC의 배경 색상을 변경/저장하는 방법을 알고하지 않습니다 아래는 설정 VC에 대한 코드입니다. 누군가 나를 도울 수 있습니까?

메인 뷰 컨트롤러의 viewWillAppear에서

답변

0

, NSUserDefaults에서 값을 읽어보기의 backgroundColor 속성은 문자열의 값에 따라 설정합니다

override func viewWillAppear(animated: Bool) { 
    super.viewWillAppear(animated) 

    let defaults = NSUserDefaults.standardUserDefaults() 

    // Start color off with a default value  
    var color = UIColor.grayColor() 

    if let backColor = defaults.objectForKey("backColor") as? String { 
     switch backColor { 
      case "red": color = UIColor.redColor() 
      case "green": color = UIColor.greenColor() 
      case "blue": color = UIColor.blueColor() 
      case "black": color = UIColor.blackColor() 
      default: break 
     } 
    } 

    view.backgroundColor = color 
} 
+0

너무 감사합니다! 그것은 일했다!! – ChallengerGuy