2015-12-07 2 views
1

Возьмите эту строку кода:Swift: использовать переменную для UITableViewController подкласса

let controller = storyboard.instantiateInitialViewController() as! MyCustomTableViewController

Теперь я хочу, чтобы заменить MyCustomTableViewController на переменную, что-то вроде этого:

var customTVC: UITableViewController customTVC = MyCustomTableViewController let controller = storyboard.instantiateInitialViewController() as! customTVC

Компилятор жалуется:

Нельзя присвоить значение типа customTVC.Type для ввода UITableViewController в принуждении

Я получаю сообщение, но как правильно это сделать? Очевидным моментом является то, что точный вид подкласса может меняться, и я хочу реализовать эту ссылку только один раз.

+0

Почему вы хотите заменить класс именем переменной? Это не разрешено компилятором, и это затрудняет чтение вашего кода. – JAL

+0

Взгляните на 'typealias'. Найдите «typealias» здесь https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html – boidkan

+0

Непонятно, что вы пытаетесь сделать. 'customTVC' * - * переменная. Это не тот тип, который является причиной использования 'as! customTVC' не работает. –

ответ

1

Если я правильно понимаю ваш вопрос вы можете использовать typealias:

typealias customTVC = MyCustomTableViewController 
let controller = storyboard.instantiateInitialViewController() as! customTVC 

Посмотрите на документацию here под «псевдонимами типа».

+0

Отлично, это именно то, что я искал! – Pieter

Смежные вопросы