EDIT: Не уверен, что это может быть корень моей проблемы, но может ли эта часть кода в делете приложения быть причиной, почему это не работает?Внесите ResearchKit в ViewController, чтобы сделать опрос
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
let navigationController = self.window!.rootViewController as! UINavigationController
let controller = navigationController.topViewController as! HomeViewController
controller.managedObjectContext = self.managedObjectContext
return true
}
Я пытаюсь добавить функцию обзора в приложение с интеграцией ResearchKit. Я проработал руководство по настройке и некоторые другие уроки от Рэя Вендерлиха. Однако, когда я перешел в приложение, которое я хотел бы разработать, я немного застрял.
Я получаю выброшен ошибку:Cannot assign value of type 'HomeviewController to type 'ORKTaskViewControllerDelegate?'
Это код, я работаю с:
class HomeViewController: UIViewController {
var managedObjectContext: NSManagedObjectContext?
@IBAction func surveyTapped(sender: AnyObject) {
let taskViewController = ORKTaskViewController(task: SurveyTask, taskRunUUID: nil)
taskViewController.delegate = self
presentViewController(taskViewController, animated: true, completion: nil)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.destinationViewController.isKindOfClass(NewRideViewController) {
if let newRideViewController = segue.destinationViewController as? NewRideViewController {
newRideViewController.managedObjectContext = managedObjectContext
}
}
}
}
На основе подобных вопросов с этим синтаксисом ошибки, пользователи добавили еще один контроллер класс, но который находится вне меня. Ваша помощь очень ценится, спасибо StackExchange!
Спасибо, что нашли время, чтобы ответить и предоставить код! Я добавил то, что вы предложили, и когда я нажимаю кнопку _survey_, приложение завершает работу и выдает ошибку SIGABRT_ _Thread 1: signal, консоль отладки предоставляет следующее сообщение: _Интерминирующее приложение из-за неперехваченного исключения «NSGenericException», причина: Каждый шаг должен иметь уникальный идентификатор'_ Я думал, что это могут быть соединения, которые я удалил выходы и код и правильно добавил розетки. Вы не знаете, почему эта ошибка возникает? – Nikolai
Ничего, сортировка по выходу отладчика и обнаружение преступника. Спасибо за помощь! – Nikolai