2016-05-06 2 views
1

私はおそらくこれをすべて間違っていますが、買い物リストアプリを作成したいと思います。リストに1つ、リストにはテキストブックとボタンを追加しますそのリストを取得する方法はわかりません。 Iこれまでのところ、このコードを持っており、私が手にエラーがSwiftエラー別のクラスに配列を渡そうとしています

Instance member 'list' cannot be used in type 'mainViewController' 

であり、これははるかに高く評価任意の助け

import UIKit 

class mainViewController: UIViewController { 
    var list:[String] = [""] 
    @IBOutlet weak var item: UITextField! 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     self.hideKeyboardWhenTappedAround() 
     // Do any additional setup after loading the view. 
    } 
    func hideKeyboardWhenTappedAround() { 
     let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(mainViewController.dismissKeyboard)) 
     view.addGestureRecognizer(tap) 
    } 

    func dismissKeyboard() { 
     view.endEditing(true) 
    } 

    @IBAction func AddToList(sender: UIButton) { 
     list.append(item.text!) 

    } 

    static func getList(inout Array: [String]) -> [String] { 
     return list 
    } 

} 

私のコードで、私はに非常に新しいですけれどもポジティブそれを維持し、心に留めておいてくださいこのフォーラムと迅速。ありがとう!

答えて

0

タイプ・コンテキスト(インスタンスなし)のインスタンス・フィールドにアクセスしようとしているというエラー・メッセージは非常に明確です。

修正するには、getList機能でstaticを削除してください。

PS:私はその関数から静的削除した場合、私はまだ私の他のクラスでそれを呼び出すことができるだろう

+0

あなたのクラス名を大文字にスウィフト命名規則に従ってください?そして、もし私がそれをやることができれば、配列から数えてもらえますか?他のクラスに配列を取得するより良い方法はありますか? –

+0

私はその関数から静的を削除しても、私は他のクラスでそれを呼び出すことができますか?そして、もし私がそれをやることができれば、配列から数えてもらえますか?他のクラスに配列を取得するより良い方法はありますか? –

+0

OOPを学んでください。インスタンスを作成してからインスタンスメソッドを呼び出す必要があります。 'var controller = mainViewController();のようなものです。 controller.getList() ' –

関連する問題