在textview和按钮上获得nil值

时间:2015-02-04 14:47:18

标签: swift random delegates textview

您好我正在创建一个应用程序,用户可以按下按钮,随机链接显示upp。我在文本文件中试图命名为blblbl.delegate = self,但在运行代码时,它突然说我的所有textview和按钮的值都是nil。

class ViewController: UIViewController, UITextViewDelegate,  

NSObjectProtocol {


@IBOutlet weak var firstbutton: UIButton!
@IBOutlet weak var firsttextview: UITextView!


let links = ["http://www.google.com","http://www.yahoo.com",
"http://www.discovery.com"]

var currentLinkIndex : Int = 0

override func viewDidLoad() {
    Firsttextview.delegate = self
    configureTextView()
    super.viewDidLoad() 
}

func configureTextView() {

    func textView(firsttextview: UITextView!, shouldInteractWithURL   
URL:
NSURL, inRange characterRange: NSRange) -> Bool {

        let url = NSURL(string:links[currentLinkIndex])
        UIApplication.sharedApplication().openURL(url!)
        return false
    }  
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

@IBAction func firstaction(sender: UIButton) {

    let random : Int = Int(arc4random()) % 3

    Firsttextview.text = links[random]
    currentLinkIndex = random 
}

}

如何解决这个问题?我是否有必要给textview和button一个值!提前谢谢!

1 个答案:

答案 0 :(得分:0)

我想你需要改变: Firsttextview.delegatefirsttextview.delegateFirsttextview.text = links[random]firsttextview.text = links[random]

我尝试通过以下方式重新创建您的示例:

  • 在故事板中创建按钮

  • 在故事板中创建textview

  • 从故事板中的按钮创建+拖放到我的ViewController类IBOutlet第一个按钮
  • 从故事板中的textview创建+拖放到我的ViewController类IBOutlet firsttextview
  • 从故事板中的按钮创建+拖放到我的ViewController类IBAction firstaction

如果在故事板中创建了按钮和标签,则无需在代码中初始化它们。

通过这样做,您的代码对我有用。