UIAlertController 내부의 UITextField에 입력 한 데이터를 Swift의 재설정을 통해 유지하는 방법은 무엇입니까?

파스타 코더

내 브라우저 앱에서 Pinboard 북마크보기 (RSS 피드를 구문 분석하고 TableView에 표시하여)를 통합하려고했습니다. 피드의 사용자 이름과 API 토큰을 얻으려면 내 앱의 설정보기에 UIAlertController가 있습니다. 입력 한 세부 정보는 세션을 통해 유지되지만 멀티 태스킹보기에서 앱을 강제 종료하면 세부 정보가 삭제됩니다. 그들을 유지하려면 어떻게해야합니까?

이것은 UIAlertController에 사용중인 코드입니다.

@IBAction func pinboardUserDetailsRequestAlert(sender: AnyObject) {
    //Create the AlertController
    var pinboardUsernameField :UITextField?
    var pinboardAPITokenField :UITextField?
    let pinboardUserDetailsSheetController: UIAlertController = UIAlertController(title: "Pinboard Details", message: "Please enter your Pinboard Username and API Token to access your bookmarks", preferredStyle: .Alert)
    //Add a text field
    pinboardUserDetailsSheetController.addTextFieldWithConfigurationHandler({(usernameField: UITextField!) in
        usernameField.placeholder = "Username"
        var parent = self.presentingViewController as! ViewController
        usernameField.text = parent.pinboardUsername
        pinboardUsernameField = usernameField
    })
    pinboardUserDetailsSheetController.addTextFieldWithConfigurationHandler({(apiTokenField: UITextField!) in
        apiTokenField.placeholder = "API Token"
        var parent = self.presentingViewController as! ViewController
        apiTokenField.text = parent.pinboardAPIToken
        pinboardAPITokenField = apiTokenField
    })
    pinboardUserDetailsSheetController.addAction(UIAlertAction(title: "Cancel", style: .Cancel, handler: nil))
    pinboardUserDetailsSheetController.addAction(UIAlertAction(title: "Done", style: .Default, handler: { (action) -> Void in
        // Now do whatever you want with inputTextField (remember to unwrap the optional)
        var parent = self.presentingViewController as! ViewController
        parent.pinboardAPIToken = pinboardAPITokenField?.text
        parent.pinboardUsername = pinboardUsernameField?.text
    }))
    //Present the AlertController
    self.presentViewController(pinboardUserDetailsSheetController, animated: true, completion: nil)

}
파스타 코더

이 질문은 질문에 대한 의견에서 Portland Runner에 의해 답변되었습니다. 효과가 있었던 해결책은 NSUserDefaults를 사용하여 텍스트를 저장하는 것입니다.

감사합니다 포틀랜드 러너! :)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관