Account
という名前のNSObject
があります。クラスにgetterメソッドとsetterメソッドを追加しましたが、値を設定して呼び出すときにはゼロになります。NSObjectプロパティの使い方
import UIKit
class Account: NSObject {
var firstName: String = ""
var lastName: String = ""
//setters
func setNameFirst(newName: String){
firstName = newName
}
func setNameLast(newName: String){
lastName = newName
}
//getters
func getFirstName() -> String{
return firstName
}
func getLastName() -> String{
return lastName
}
}
別のビューコントローラでは、変数の1つを設定して印刷しようとしています。
import UIKit
var test: Account?
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
test?.setNameFirst("John")
print(test?.getFirstName())
}
}
ただし、印刷するとnil
と表示されます。
あなたは 'Account'オブジェクトを作成したことはありません:
は同じです。ある時点で 'test = Account()'を実行する必要があります。 – vacawama
セッターとゲッターを手動で追加するべきではありません。 'test?.firstName =" John "'と 'print(test.firstName)'を実行することでプロパティを取得/設定できます。 – dan