Я просто добавляю подвид из другого контроллера представления в мой текущий контроллер представления (который состоит из табличного представления). Я добавляю подвид, когда пользователь нажимает строку.
func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!)
{
var vc: alertVC = alertVC()
vc.setUpData(Helper.Stored.alertViewWithPlacehlder)
self.view.addSubview(vc.view)
}
После этого в этом alertVC есть IBAction. Когда я нажимаю эту кнопку, мое приложение падает. Я тоже не знаю почему. Как мне поступить? В отладке тоже ничего не отображается.
@IBAction func cancel(sender: AnyObject)
{
NSLog("cancel");
}
Редактировать: Ниже приведены мои коды в alertVC, представление которых должно быть добавлено к моему текущему представлению. Когда я добавляю подвид с загрузкой nib, я получаю эту ошибку. Как мне поступить?
* Завершение работы приложения из-за необработанного исключения "NSUnknownKeyException", причина: "[‹_TtC13FastPhoneCard9ContactVC 0x17d53110> setValue:forUndefinedKey:]: этот класс не соответствует кодированию значения ключа для ключа vwTwoBtnWithTitle".
import UIKit
class alertVC: UIViewController {
var alertType: NSString = NSString()
@IBOutlet var vwTwoBtnWithTitle: UIView
override func viewDidLoad() {
super.viewDidLoad()
setUpInterface()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
class func getView() -> alertVC {
return NSBundle.mainBundle().loadNibNamed("alertVC", owner: nil, options: nil)[0] as alertVC
}
func setUpInterface()
{
self.view.backgroundColor = UIColor (white: 1, alpha: 0.5)
if(alertType == Helper.Stored.alertViewWithPlacehlder)
{
addVWTwoBtnWithTitle()
}
}
func setUpData(input : NSString)
{
alertType = input
}
func addVWTwoBtnWithTitle()
{
vwTwoBtnWithTitle.frame = CGRectMake(20, 190, 280, 160);
vwTwoBtnWithTitle.layer.borderWidth = 1
vwTwoBtnWithTitle.layer.borderColor = UIColor.blackColor().CGColor
vwTwoBtnWithTitle.layer.cornerRadius = 5
self.view.addSubview(vwTwoBtnWithTitle)
}
@IBAction func cancel(sender: AnyObject)
{
NSLog("cancel");
}
}