swift按钮点击后出错

代码没提示错误,点击按钮后程序崩溃,但不知道问题出在哪里,求大神解答。importUIKitclassViewController:UIViewController{ov... 代码没提示错误,点击按钮后程序崩溃,但不知道问题出在哪里,求大神解答。

import UIKit

class ViewController: UIViewController {

override func
viewDidLoad() {
super.viewDidLoad()
var playScore:UILabel
var buy:UIButton
var score:Int
= 1000

playScore = UILabel()
playScore.text = String(score)
playScore.frame = CGRectMake(100,100,100,20)

self.view.addSubview(playScore)

buy = UIButton()
buy.frame = CGRectMake(100,150,100,20)

buy.backgroundColor = UIColor.blackColor()
buy.setTitle("buyAdd", forState: UIControlState.Normal)
buy.addTarget(self, action: Selector.convertFromExtendedGraphemeClusterLiteral("buyAdd"), forControlEvents: UIControlEvents.TouchUpInside)
self.view.addSubview(buy)

func buyAdd(){
score = score +
100
playScore.text = String(score)
}
// 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.

}

}
展开
 我来答
黄金月亮人
2014-10-14
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
我就说一点,你仔细看看func buyAdd()方法是由self调用,你写到viewDidLoad里肯定运行时viewController是找不到该方法的,肯定要报错的。
追问
方法在下方申明了啊,求标准答案
追答
buy.addTarget(self, action: Selector.convertFromExtendedGraphemeClusterLiteral("buyAdd"), forControlEvents: UIControlEvents.TouchUpInside)

buyAdd这个方法是由self来调用的,而你把该方法的定义写到viewDidLoad里,就成了作用域只在viewDidLoad里生效,所以运行时,self要调用buyAdd是找不到该方法的,不知道你懂没。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式