2015-10-22 5 views
1

Может, кто-то не помог мне закончить этот маленький мой проект? Для тех из вас, кто задает вопросы, заданные здесь, у меня возникли проблемы с настройкой кода, необходимого для вложенных массивов, и мой проект находится именно в этом.Проблема с destinationVC и типами участников

На всякий случай мой код выглядит странным/незнакомым, мой проект основан на этом уроке Джареда Дэвидсона, вот ссылка на YouTube для проекта.

https://www.youtube.com/watch?v=pR6dR-vVZeY

и вот мой проект (это на Dropbox),

https://www.dropbox.com/sh/u9rkvwsrcdoa7q8/AABwKm_djSB2oENzuJNT1u35a?dl=0

Я на самом деле просто возникли проблемы с моими prepareforsegue функциями и это кусок кода.

var indexPath : NSIndexPath = self.tableView.indexPathForSelectedRow! 
var DestViewController = segue.destinationViewController as! RestaurantNameTable 

var selectedRestaurants : [Restaurant] 

selectedRestaurants = restaurantNamesArray[indexPath.section] 

DestViewController.restaurantNamesArray = selectedRestaurants 

В основном, мой ресторанNamesTable не имеет имени по имени restaurantNamesArray. или должен мой код выглядит следующим образом ...

DestViewController.selectedRestaurants =restaurantNamesArray[indexPath.section]  

?

im немного потеряно прямо в самом конце. любая помощь будет по достоинству оценена!

enter image description here

+0

то, что ошибка вы получаете? –

+0

Загружено изображение ошибки. – jonpeter

ответ

1

Ваш RestaurantNameTable имеет свойство selectedRestaurants, но не один называется restaurantNamesArray, так что вы получаете сообщение об ошибке, пытающегося писать в него.

Вы хотите

var indexPath : NSIndexPath = self.tableView.indexPathForSelectedRow! 
var DestViewController = segue.destinationViewController as! RestaurantNameTable 
var selectedRestaurants : [Restaurant] 
selectedRestaurants = restaurantNamesArray[indexPath.section] 

DestViewController.selectedRestaurants = selectedRestaurants 

или более безопасно и лаконично

if let destViewController = segue.destinationViewController as? RestaurantNameTable { 
    let indexPath = self.tableView.indexPathForSelectedRow! 
    destViewController.selectedRestaurants = restaurantNamesArray[indexPath.section] 
} 
+0

спасибо, пожалуйста! один последний вопрос, вы бы поняли, почему мой второй элемент управления отображает только две ячейки с общим текстом «ярлык» вместо названия ресторана? вот обновленная ссылка на проект/dropbox https://www.dropbox.com/sh/u9rkvwsrcdoa7q8/AABwKm_djSB2oENzuJNT1u35a?dl=0 – jonpeter

+0

Я не могу сейчас этого взглянуть, но общая причина заключается не в установке источника данных tableview или делегировать свойства или не устанавливать настраиваемый класс для диспетчера представлений в сцене раскадровки – Paulw11

+0

Я смог решить эту проблему, создав вторую ячейку таблицы. Тем не менее, я заметил, что мои экземпляры mcdonalds и burger king помещаются в каждую вторую ячейку таблицы, несмотря на то, что в первом они нужны. – jonpeter

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