EDIT - これは重複していません。すべての接続が正しく行われた後でも、私はまだこのエラーを受けています。この問題を解決するためのアクションは、明らかに特定の順序で完了する必要がありました。答えとしてマークされた回答を参照してください。このクラスはキーのキー値に符合しません(ストーリーボードでファイル名を変更しました)
ストーリーボードでファイル名が変更され、すべてが破損しました。私はエラーを取得しています "このクラスは、キーのコードに準拠したキー値ではありません"しかし、私は実際には問題とは思わない。私はDraftという名前のビューコントローラとDraft2という別のビューコントローラを持っています。私のストーリーボードでは、ファイル名を「ドラフト」から「ドラフト3」に変更し、次に「ドラフト2」を「ドラフト」に変更しました。私はクラスの名前をそれぞれ変更してから、セグを削除して再作成しました。また、View Controller TitleとStoryboard Idをそれぞれ変更しました。私はDraft3を本当に気にしません。なぜなら、それは最終的には削除されますが、私はDraft(新しいバージョン)が必要です。
Draftという名前の新しいViewcontrollerのすべてのコンセントを再接続しました。私はまた、プログラムを掃除しようとしました(cmd + shift + k)。私は貯蓄と閉鎖を試みました。
ここでは何が起こっていますか?
これはViewControllerを
class Draft: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout, UISearchBarDelegate {
@IBOutlet weak var battlegroundName: UILabel!
@IBOutlet weak var draftStatus: UILabel!
@IBOutlet weak var draftNotes: UILabel!
@IBOutlet weak var collectionHeroPool: UICollectionView!
@IBOutlet weak var collectionTeam1Bans: UICollectionView!
@IBOutlet weak var collectionTeam2Bans: UICollectionView!
@IBOutlet weak var collectionTeam1Picks: UICollectionView!
@IBOutlet weak var collectionTeam2Picks: UICollectionView!
@IBAction func undoButton(sender: AnyObject) {
self.navigationController?.popViewControllerAnimated(true)
self.navigationController?.navigationBarHidden = false
//dismissViewControllerAnimated(false, completion: nil)
}
var team1First = true
var battleground: Battleground!
var team1 = [Hero]()
var team2 = [Hero]()
var turn = 1
var team1Active = true
var activeTeam = [Hero]()
var team1Bans = [Int: Hero]()
var team2Bans = [Int: Hero]()
var team1Picks = [Int: Hero]()
var team2Picks = [Int: Hero]()
var bans1 = [1,9]
var bans2 = [2,8]
var picks1 = [3, 6, 7, 12, 13]
var picks2 = [4, 5, 10, 11, 14]
var pickedHeroes = [Hero]()
override func viewDidLoad() {
super.viewDidLoad()
let value = UIInterfaceOrientation.LandscapeLeft.rawValue
UIDevice.currentDevice().setValue(value, forKey: "orientation")
self.navigationController?.navigationBarHidden = true
battlegroundName.text = battleground.name
このコードは
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "preDraftToDraft3" {// if this is the segue being loaded with this identifier
if let detailsVC = segue.destinationViewController as? Draft3 { // grab the view control we will go to and cast it as the hero detail class
detailsVC.team1First = team1First!
//print(selectedMap!.name)
detailsVC.battleground = selectedMap
//print(detailsVC.battleground.name)
}
}
if segue.identifier == "preDraftToDraft" {// if this is the segue being loaded with this identifier
if let detailsVC = segue.destinationViewController as? Draft { // grab the view control we will go to and cast it as the hero detail class
detailsVC.team1First = team1First!
//print(selectedMap!.name)
detailsVC.battleground = selectedMap
//print(detailsVC.battleground.name)
}
}
}
@IBAction func startDraft(sender: AnyObject) {
if team1First != nil && selectedMap != nil {
performSegueWithIdentifier("preDraftToDraft", sender: nil)
}
}
これはうまくいきました。私は「必要な」注文があるとは決して考えなかったでしょう。 – Apple