/ / Wszystkie kontrolery widoku na jednej serii ujęć - ios, storyboard, uistoryboard, xcode9, xcode-storyboard

Wszystkie kontrolery widoku w jednym storybooku - ios, storyboard, uistoryboard, xcode9, xcode-storyboard

Powrót do XCode 5 i 6 razy, nie zaleca się umieszczania wszystkich kontrolerów widoku w jednej scenorysie, a moje doświadczenie to udowodniło: XCode stał się wolny.

Jaka jest dzisiejsza sytuacja? Czy XCode 9 może to obsłużyć? Czy Apple oficjalnie zaleca umieszczenie wszystkiego w jednej scenariuszu?

Odpowiedzi:

1 dla odpowiedzi № 1

Moim zdaniem lepiej podzielić aplikację na moduły lub coś w rodzaju „przepływów”, na przykład zazwyczaj tworzę Onboarding storyboard, który zawiera dane dotyczące logowania / rejestracji lub Ustawienia scenorys zawierający menu ustawień i podmenu (które są kontrolerami widoku). Co więcej, nigdy nie tworzę UITableViewCell lub UICollectionViewCell bezpośrednio w scenorysie, ale tworzę dedykowane .xib plik. Używam tych samych metod @Prashant Tukadiya do obsługi tworzenia instancji kontrolera View i obsługi scenorysów (w bardziej ogólny sposób).

Jaka jest dzisiejsza sytuacja? Czy XCode 9 może to obsłużyć?

Pracowałem nad projektem 1-2 lata temu, który zawiera wszystkie kontrolery widoku w jednej scenorysie, niedawno otworzyłem go w XCode 9 i wciąż jest bardzo powolny.


1 dla odpowiedzi nr 2

Jak chcesz, czasami musisz to zrobić, gdy liczba kontrolerów widoku w głównych scenorysach rośnie, aby podzielić funkcje aplikacji, gdy aplikacja staje się większa, a storyboard otwiera się / zapisuje powoli


1 dla odpowiedzi nr 3

Powinieneś podzielić swoją scenorys pod względem modułów. w przeciwnym razie twój projekt zajmie dużo czasu przy jednej zmianie scenorysu.

Moja sugestia to możesz użyć Storyboard Reference, aby połączyć się przez segue patrz przykład

https://www.raywenderlich.com/115697/ios-9-storyboards-tutorial-whats-new-in-storyboards

a jeśli nie chcesz przechodzić, lepszym rozwiązaniem jest abstrakcyjna praktyka metod w każdym kontrolerze widoku, aby uzyskać dostęp do scenorysu

Tak jak

//--------------------------------------------------------------------------------

// MARK: - Abstract Methods

//--------------------------------------------------------------------------------

public class func viewController () -> LoginVC {
return StoryBoard.main.instantiateViewController(withIdentifier: StoryBoard.controller.LoginVC) as! LoginVC
}


//--------------------------------------------------------------------------------
// Now access it with  LoginVC.viewController() and do push or present whatever your operation you requred

Zarządzam wszystkim w stałej teczce

public struct StoryBoard {

static let main = UIStoryboard.init(name: "Main", bundle: nil)

struct controller {
static let LoginVC   =   "LoginView"

}

}

1 dla odpowiedzi nr 4

Tworzę różne storyboardy dla osób podzielonychjednostki logiczne i przekazywanie do nich odwołań (odwołanie do scenorysu w XCode). Pomaga to w lepszej organizacji. Istnieje również ładna biblioteka o nazwie R.swift na GitHub (patrz https://github.com/mac-cain13/R.swift), takie jak plik z zasobami w systemie Android. Analizuje wszystkie zasoby, takie jak obrazy, stalówki, storyboardy itp. I zmniejsza możliwość popełnienia błędów podczas wywoływania zasobów po nazwie.