ios - How to access variables which located in another class -
i'm trying access var located in class(viewcontroller), cannot access answeredcorrectly variable in lastview class. how can access , when call answeredcorrectly that(marked 1) going use default instance of viewcontroller?
i tried that(lastview.swift)
import foundation import uikit class lastview: viewcontroller { @iboutlet weak var numberlabel: uilabel! func assignlabeltocount(){ numberlabel.text = "\(answeredcorrectly)" } }
whole view controller
import uikit class viewcontroller: uiviewcontroller, uitextfielddelegate { @iboutlet weak var questionlabel: uilabel! @iboutlet weak var answerbox: uitextfield! override func viewdidload() { super.viewdidload() // additional setup after loading view, typically nib. answerbox.addtarget(self, action: "textfielddidchange:", forcontrolevents: uicontrolevents.editingchanged) } override func didreceivememorywarning() { super.didreceivememorywarning() // dispose of resources can recreated. } var questionshowing = "" var answerforcontrol = 0 @ibaction func newbutton() { var question = getquestion() questionshowing = question.0 answerforcontrol = question.1 questionlabel.text = questionshowing var timer = nstimer.scheduledtimerwithtimeinterval(2, target: self, selector: selector("endgame"), userinfo: nil, repeats: false) print() } func print(){ println("\(questionshowing) >>>>>> \(answerforcontrol)") } var answeredcorrectly = 0 func textfielddidchange(textfield: uitextfield) { var answerinint = string(stringinterpolationsegment: answerforcontrol) var answer: string? = string(answerinint) if answerbox.text == answer { newbutton() answeredcorrectly++ answerbox.text = "" } else { } } func endgame(){ println("count of correct answers: \(answeredcorrectly)") answeredcorrectly = 0 lastview().assignlabeltocount() performseguewithidentifier("toend", sender: nil) } func getquestion() -> (string, int){...} }
there couple of things do, if want utilize inheritance
, go ahead , try kind of structure:
class viewcontroller : uiviewcontroller { //the var want access var answeredcorrectly: int = viewcontroller().answeredcorrectly //your other code //.... }
then, inherit
class, since class lastview
inherits viewcontroller
, class inherits viewcontroller
have access uiviewcontroller
.
note
if haven't changed subclass of viewcontroller
, should uiviewcontroller
default.
let's inherit class lastview
class:
class lastview : viewcontroller { //now lastview class inherits viewcontroller, inherits //from uiviewcontroller, it's big chain of classes @iboutlet weak var numberlabel: uilabel! func assignlabeltocount() { numberlabel.text = "\(answeredcorrectly)" } }
the function assigns variable answeredcorrectly
, located in viewcontroller
.
Comments
Post a Comment