Помощь с NavigationController

swift

#1

Здравствуйте, добавил к tableview navigationcontroller, изменив на presently modally теперь не получается связать через navigationcontroller

if let indexPath = tableView.indexPathForSelectedRow{
let dvc = segue.destination as! NotesDetailViewController
dvc.reminder = notesToDisplayAt(indexPath: indexPath)
}
Вот код, если изменить NotesDetailViewController на UINavigationController, то дальше как написать код?


#2
  1. Зачем navigationController?
  2. Зачем Present Modally?

#3

хочу потом сохранить данные нажав на кнопку


#4

Не вижу связи с этим действием.
Вы похоже не до конца представляете как это работает.

Давайте по порядку: почему NavigationController, а не обычный ViewController?


#5

Видимо вы правы, следует изменить на viewcontroller?


#6

Именно, NavigationController зачастую используется в самом началу цепочки, только за редким исключением в другом месте. Плюс вам пришлось бы доставать из его иерархии свойств привязанный к нему ваш ViewController, а т.к. вы используете PresentModally, то часть функционала по возврату назад отпадает, к примеру как свайп из левой части экрана.


#7

И вопрос будет решен с кодом?


#8

Код у вас должен будет заработать сразу.


#9

Ничего не меняя в коде?)


#10

Ничего, за исключением убедитесь что ваш ViewController имеет свойство reminder и в IB установлен класс NotesDetailViewController.


#11

А нельзя без viewcontroller напрямую подключить к tableview?


#12

В смысле? Вы хотите сделать переход из таблицы в таблицу?


#13

да, все верно. Хочу чтобы при нажатии на ячейку первой таблицы открывалась вторая, уже более развернутая


#14

можно, используя тот же ViewController и разместив в нем TableView, либо сразу используя TableViewController
примеры можете посмотреть на сайте swiftbook’a, там вроде в туториалах или копошилке было подобное.


#15

а переход выбрать какой? present modally?


#16

зависит от того что вы хотите получить?
если вам не нужен NavigationBar и его функционал, то Present Modally, но тогда вам нужно возврат делать самому
я думаю вам подойдет обычный Show или Show Detail


#17

сохранение данных возможно сделать, если выбрать show?


#18

сохранение работает не зависимо от этого.
это вы уже сами решите где его делать: там где первая таблица или там где вторая таблица


#19

просто при выборе show, автоматически появляется кнопка cancel, и вот думаю, возможно ли через cancel сохранить все изменения во второй таблице
И в коде найти не могу ее, чтобы сохранение написать


#20

эта кнопка ищется так navigationItem.leftBarButtonItem