ユーザーがログインしてWebから記事を読むことができるシンプルなアプリを開発しています。最近、セグエの処理中に 2 番目のビューにタイトルを設定するコードを追加しましたが、残念ながら 2 ページ目のタイトルはゼロです。ビューコントローラーの変数に正しく接続されたストーリーボードのオブジェクトがあり、これを2回チェックしました。どうすればいいのかわかりません。何かを適切に開封したのかもしれません。
コード:
import UIKit
class MainViewController: UIViewController, UITabBarDelegate, UITabBarControllerDelegate, UIToolbarDelegate {
@IBOutlet var titleLabel: UILabel!
@IBOutlet var newsBar: UIToolbar!
@IBOutlet var accountBar: UITabBar!
override func viewDidLoad() {
super.viewDidLoad()
accountBar.delegate = self
newsBar.delegate = self
titleLabel.backgroundColor = UIColor(netHex: 0x00B0E4)
titleLabel.textColor = UIColor.whiteColor()
titleLabel.font = UIFont.boldSystemFontOfSize(16.0)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
override func shouldPerformSegueWithIdentifier(identifier: String, sender: AnyObject?) -> Bool {
return true
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let next: SectionViewController = segue.destinationViewController as! SectionViewController
switch segue.identifier! {
case "hardwareSectionSegue":
next.titleLabel.text = "Rubrika o hardwaru"
case "softwareSectionSegue":
next.titleLabel.text = "Rubrika o softwaru"
case "webSectionSegue":
next.titleLabel.text = "Rubrika o webových technologiích"
case "programmerSectionSegue":
next.titleLabel.text = "Rubrika o programování"
case "mobileSectionSegue":
next.titleLabel.text = "Rubrika o mobilních zažízeních"
default:
next.titleLabel.text = "Rubrika nenalezena"
next.titleLabel.backgroundColor = UIColor.redColor()
}
}
@IBAction func unwindSegue(unwindSegue: UIStoryboardSegue) {}
}
に値を割り当てようとしている最初のケースの下で例外が発生しますnext.titleLabel.text
。それはそうでtitleLabel
はありません。
SectionViewController:
import UIKit
class SectionViewController: UIViewController {
@IBOutlet var titleLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
その型キャストが原因であると確信していますが、セグエが次のビューの型がわからない場合、属性を適切に設定するにはどうすればよいですか?