2016-07-04 15 views
0

私はメモを表示する変数を読み書きしようとしていますが、それを読むことができますが表示されますが、ユーザーが入力した変数を別のファイルに保存すると保存されません。 プロジェクトファイルに読み書きしようとしている変数は次のとおりです。別のファイルの変数の値を変更するにはどうすればよいですか?

class Project 
{ 
    var title = "" 
    var content = "" 
    var after = " " 
} 

ここで私は読み書きをしようとしています。

class NoteDetailViewController: UIViewController 
{ 
    @IBOutlet weak var titleTextField: UITextField! 
    @IBOutlet weak var contentTextField: UITextView! 
    @IBOutlet weak var afterTextField: UITextView! 

    var project = Project() 

    override func viewWillAppear(animated: Bool) 
    { 
     super.viewWillAppear(animated) 
     titleTextField.text = project.title 
     contentTextField.text = project.content 
     afterTextField.text = project.after 
    } 

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

     project.title = titleTextField.text! 
     project.content = contentTextField.text! 
     project.after = afterTextField.text! 
    } 

} 

私は、彼らが変数にもともとある、私は単にここからそれらの変数に新しい値を保存することはできませんどのような値を示しているため、テキストフィールドのコンセントが問題ではありません知っています。

+1

からアクセス可能であることに注意して取るにいますユーザーがディスクに入力した内容を永続化しようとしていますか? 'NSKeyedArchiver' /' NSKeyedUnarchiver'/'NSCoding'や' NSUserDefaults'をチェックしたいかもしれません。あなたのコードに誤りがありますか?それは何ですか?あなたのコードがあなたのディスクに何かを保存しているわけではないので、あなたは単に 'Project' in-memoryのインスタンスを作成し、それに属性を設定しています。あなたのView Controllerがアンロードされるとすぐに 'project'が割り当て解除されます。 'project'を他の場所で使用したい場合、別のビューコントローラやクラスで参照を取得する必要があります。 –

+0

私はエラーを表示していません。値はプロジェクトファイルの変数に変換されていません。私は 'project.title = titleTextField'と思ったので、テキストフィールドにあるものをプロジェクトファイルの変数に保存しました。どのようにすればいいですか?私は、Projectにこれらの値を保存する以外の場所でプロジェクトを使用したくないのです。 –

答えて

0

は、動的なグローバル変数

class Project { 
    static let sharedInstance = Project() 

    var title = "" 
    var content = "" 
    var after = " " 
} 

のためにこれをしてみてくださいしかし、私は

// save title 
Project.sharedInstance.title = "My Title" 

// call/print title 
print(Project.sharedInstance.title) 

以下のようにデータを保存し、取得する必要があるも、このグローバル変数は、任意のクラス

+0

ちょっと混乱しますが、プロジェクトファイルにその行を置くのは何ですか?それは私が保存している他のファイルには行かないのでしょうか? –

+0

これは、正確に1回インスタンス化されるシングルトンオブジェクトです。オブジェクトのコピーは1つしか使用できません。シングルトンオブジェクトは他のオブジェクトによって共有され、到達可能です – xmhafiz

関連する問題