Rom*_*man 9 xcode uiactionsheet ios swift
我的程序编译成功,但是当我按下按钮时,它会崩溃.这是viewController.swift:
import UIKit
class ViewController: UIViewController, UIActionSheetDelegate{
@IBOutlet var button:UIButton
override func viewDidLoad() {
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.
}
@IBAction func buttonPressed(AnyObject) {
let choice = UIActionSheet(title: "Select source", delegate: self, cancelButtonTitle: "Cancel", destructiveButtonTitle: nil, otherButtonTitles:"camera", "libary")
choice.showInView(self.view)
}
}
Run Code Online (Sandbox Code Playgroud)
错误出现在这一行:
let choice = UIActionSheet(title: "Select source", delegate: self, cancelButtonTitle: "Cancel", destructiveButtonTitle: nil, otherButtonTitles:"camera", "library")
Run Code Online (Sandbox Code Playgroud)
这是错误文本:
EXC_BAD_ACCESS(代码= 2,地址= 0x0)
我试图将let切换到var,在不同的模拟器上运行它,但结果是一样的.
试过,但无法弄清楚异常.最后我得到了这样的解决方案:
var myActionSheet:UIActionSheet = UIActionSheet()
var title : String? = "Select Source"
myActionSheet.title = title
myActionSheet.delegate = self
myActionSheet.addButtonWithTitle("camera")
myActionSheet.addButtonWithTitle("Library")
myActionSheet.addButtonWithTitle("Cancel")
myActionSheet.cancelButtonIndex = 2
myActionSheet.showInView(self.view)
Run Code Online (Sandbox Code Playgroud)
UIActionSheet代表
func actionSheet(myActionSheet: UIActionSheet!, clickedButtonAtIndex buttonIndex: Int){
println("the index is %d", buttonIndex)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1652 次 |
| 最近记录: |