UITableViewControllerをロードするAppDelegate
からUITableViewController
をRootControllerとして起動しようとしています。 nibファイルがTasksTableViewController
と呼ばれStoryboardsを使用せずにプログラムで
class TasksTableViewController: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
:
は、ここに私のTasksTableViewControllerです。 TasksTableViewController
のviewプロパティは、ペン先のコントロールUITableView
に接続されています。
AppDelegate
は次のようになります。
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
window = UIWindow(frame: UIScreen.mainScreen().bounds)
let controller = TasksTableViewController(nibName: "TasksTableViewController", bundle: nil)
window?.rootViewController = controller
window?.makeKeyAndVisible()
return true
}
私が見るすべては黒い画面です。 UITableView
コントロールへのデータバインディングはありませんが、空のuiTableviewコントロールが表示され、黒い画面が表示されないようにしたいと考えていました。私は間違って何をしていますか?
UPDATE:ここ
はそれが働いてしまったコードです:
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
let controller = TasksTableViewController(nibName: "TasksTableViewController", bundle: nil)
if let window = self.window {
window.backgroundColor = UIColor.blueColor()
window.rootViewController = controller
window.makeKeyAndVisible()
}
return true
}
'nibName'に' nil'を渡すだけで十分です。あなたの 'Info.plist'をチェックします - ウィンドウとルートコントローラをストーリーボードからロードするようにするいくつかのプロパティがあり、ストーリーボードテンプレートからプロジェクトを作成した場合はそれらをアンセットする必要があります。 – Sulthan
また、コントローラの背景色と背景色を設定することをお勧めします。それは問題が何であるかを教えてくれるはずです。 – Sulthan
データソースとtableview.countを定義する必要があると思います。 –