그래서 앱을 만들 때이 앱은 처음 로그온 할 때 비밀번호가 필요합니다. 그러면 다른 앱으로 이동할 수있는 기본 앱으로 연결됩니다. . 내가 암호보기 컨트롤러를 설정하는 방법은 레이어가 있고 신속한 파일에서 변수 ('x')가 특정 상황에 따라 변경된다는 것입니다. x 값이 변경되면보기에있는 내용도 변경됩니다. 예를 들어, 첫 번째 레이어는 x = '1.0'일 때 활성화되며 이는 비밀번호가 아직 입력되지 않았 음을 의미합니다. 그것이 입력되면, x = '1.5'그리고 그것은 당신이 패스워드를 가지고 있다는 것을 알려주는 화면을 불러오고 메인 페이지로 인도하는 버튼이 나타납니다.
기본 페이지에는 암호를 변경할 수있는 첫 페이지로 다시 연결되는 단추가 있습니다. 기본 페이지에서 x 값을 변경하여 열 때 비밀번호 페이지에 completly 새 페이지가 표시되게하고 싶습니다.
내 문제는 내가 segue를 작동시키지 못한다는 것입니다. 여기Xcode (스위프트) :보기 컨트롤러간에 데이터를 전송할 수 없습니다.
import UIKit
class ViewController: UIViewController {
var x = "1.0"
//First Page--------------------------------
@IBOutlet weak var Textbar: UITextField!
@IBOutlet weak var submitbutton: UIButton!
@IBOutlet weak var enterYourPasscode: UILabel!
@IBOutlet weak var Welcome: UILabel!
//1.5-------------------------------
@IBOutlet weak var correct: UILabel!
@IBOutlet weak var Open: UIButton!
@IBAction func CloseKeyboard(_ sender: AnyObject) {
self.resignFirstResponder()
}
var password="Ree"
@IBAction func SubmitClick(_ sender: Any) {
if Textbar.text == password {
x = "1.5"
checkVersion()
}else{
enterYourPasscode.text="Wrong, try again."
}
}
func checkVersion(){
if x == "1"{
correct.isHidden = true
Open.isHidden = true
Textbar.isHidden = false
submitbutton.isHidden = false
enterYourPasscode.isHidden = false
Welcome.isHidden = false
}
if x == "1.5"{
correct.isHidden = false
Open.isHidden = false
Textbar.isHidden = true
submitbutton.isHidden = true
enterYourPasscode.isHidden = true
Welcome.isHidden = true
}
}
override func viewDidLoad() {
checkVersion()
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
내가 데이터를 보낼보기에 대한 코드는 다음과 같습니다 :
이import UIKit
class ViewController2: UIViewController {
@IBOutlet weak var Settings: UIButton!
@IBAction func GoToSettings(_ sender: Any) {
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
var recievingController = segue.destination as! ViewController
ViewController.x = "2.0"
}
}
오류가 두 번째 뷰 컨트롤러 위치에 나타납니다 여기 제 2 뷰 컨트롤러의 샘플 코드는 그것은 "viewController.x = '2.0'"이고 "인스턴스 멤버 'x'는 'ViewController'유형에서 사용할 수 없습니다."
나는 왜 그것이하고 있는지 알아 내려고 많은 시간을 보냈습니다 이 문제는 과거에 비슷한 문제를 일으키지 않았습니다. 나는 쉬운 해결책이있는 동안 그것을 overthinking 수도 있고 그 이유는 내가 지역 사회에게 물어 보는 이유입니다.
편집 : 도움을 요청한 모든 사람에게 감사드립니다. 문제가 해결되었습니다.
롤, 감사합니다! –
문제 없습니다. 답변을 수락 (체크 표시를 클릭)하고 upvote해야합니다 :) – Xcoder
15 명성이 없습니다. 나는 그랬지만 공개적으로 보여주지는 않습니다. –