前提・実現したいこと
・起動時のStoryBoardを変更したい
「Main.StoryBoard」とは別に作成した「Weather.StoryBoard」に変更したい
発生している問題・エラーメッセージ
######error1
「Main.StoryBoard」のエントリーポイント「is Initial View Controller」を外し
「Weather.StoryBoard」にエントリーポイントを付けると、
ビルド時に画面がブラックアウトします
※MainにエントリーポイントをつけるとMain.storyboardが表示されます。
######error2
エントリーポイントをどちらにつけたにせよ、以下のエラーは表示されます。
error2
1CarthageAlamofireWeather[78859:4609550] [Storyboard] Unknown class _TtC24CarthageAlamofireWeather14ViewController in Interface Builder file. 2
######error3
error1の対応に加え、
PlistでStoryboard Nameを「Main」から「Weather」に変更すると以下のエラー
error3
1Thread 1: Exception: "[<UIViewController 0x7feaebf7f7c0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key table."
該当のソースコード
ソースコードの問題じゃない気がしますが念の為のせておきます。
Viewcontroller
1import UIKit 2import Alamofire 3import Foundation 4import RealmSwift 5 6protocol ViewDelegate: class { 7 func updateAPI(weatherLists : [DbTable]) 8} 9 10class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, ViewDelegate { 11 12 var weatherApiModel = WeatherApiModel() 13 var weatherListsResult: [DbTable]? 14 @IBOutlet weak var table:UITableView! 15 16 override func viewDidLoad() { 17 super.viewDidLoad() 18 19 receiveEvent() 20 21 } 22 23 func receiveEvent() { 24 weatherApiModel.delegate = self 25 weatherApiModel.weatherApi() 26 } 27 28 func updateAPI(weatherLists : [DbTable]) { 29 weatherListsResult = weatherLists 30 self.table.reloadData() 31 } 32 33 //Table Viewセル数指定 34 func tableView(_ table: UITableView, 35 numberOfRowsInSection section: Int) -> Int { 36 guard let weatherListCount = weatherListsResult?.count else { return 0 } 37 return weatherListCount 38 } 39 40 //各セル要素設定 41 func tableView(_ table: UITableView, 42 cellForRowAt indexPath: IndexPath) -> UITableViewCell { 43 44 guard let cell = table.dequeueReusableCell(withIdentifier: "tableCell", for: indexPath) as? TableViewCell else {fatalError("cell error")} 45 guard let date = weatherListsResult?[indexPath.row].date, 46 let telop = weatherListsResult?[indexPath.row].telop else {fatalError("error")} 47 48 cell.dateLabel.text = date 49 cell.telopLabel.text = telop 50 51 guard let iconUrl = weatherListsResult?[indexPath.row].iconUrl else {fatalError("error")} 52 guard let url = URL(string: iconUrl) else {fatalError("error")} 53 if let iconData = try?Data(contentsOf: url) { 54 cell.iconImageView?.image = UIImage(data: iconData) 55 } 56 57 return cell 58 } 59}
試したこと
General>Development Info>Main Interfaceのドロップダウンで追加したStoryboardを選択する
・Main.StoryBoardを参照削除
Mainが表示されるなら消してしまったどうかと思って削除したら以下のエラー文が表示されたので、一旦もどしました…
error3
1"Could not find a storyboard named 'Main' in bundle NSBundle
補足情報(FW/ツールのバージョンなど)
・version
MacOS:Catalina 10.15.5
Xcode:11.6
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。