I've done a good amount of iOS (Swift/Objective-C) development, so I'll give my experience on some of this:
What is AppDelegate's role?
The AppDelegate delegates events from the system to your app like launch, going to the background, etc.. Delegation is an important concept in iOS dev and is used a bunch throughout the system (i.e. UITableViewDelegate. UICollectionViewDelegate) and leverages Protocols to allow objects to communicate with each other.
Where would I put my models?
I structure my iOS apps similar to Rails app/ (with less starting directories) using an MVC pattern. So I'll start with a Models, Controllers and Views directories, then add other folders/groups like Services, Presenters/ViewModels, etc.. as necessary. There are some other app architectures like MVVM, Viper that are gaining popularity, but iOS and the underlying API's have been built following MVC.
Is it more of a "one right way" or a "many right ways" culture?
This is an interesting question I haven't really thought about before. I would say it's more of a "one right way" culture. Apple normally hint's (sometimes subtle, sometimes not) about how they wan't things done in there WWDC presentations
Is Swift "culture" different from Obj C in any meaningful way?
I don't know if it would be considered a cultural difference but Objective-C is a very object oriented language, while Swift is a protocol-oriented programming language and although you can solve any thing in Swift in an object-oriented way, there seems to be a strong push to solve things using Swift's protocol oriented features.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
I've done a good amount of iOS (Swift/Objective-C) development, so I'll give my experience on some of this:
What is AppDelegate's role?
The
AppDelegate
delegates events from the system to your app like launch, going to the background, etc.. Delegation is an important concept in iOS dev and is used a bunch throughout the system (i.e.UITableViewDelegate
.UICollectionViewDelegate
) and leverages Protocols to allow objects to communicate with each other.Where would I put my models?
I structure my iOS apps similar to Rails app/ (with less starting directories) using an MVC pattern. So I'll start with a
Models
,Controllers
andViews
directories, then add other folders/groups likeServices
,Presenters
/ViewModels
, etc.. as necessary. There are some other app architectures like MVVM, Viper that are gaining popularity, but iOS and the underlying API's have been built following MVC.Is it more of a "one right way" or a "many right ways" culture?
This is an interesting question I haven't really thought about before. I would say it's more of a "one right way" culture. Apple normally hint's (sometimes subtle, sometimes not) about how they wan't things done in there WWDC presentations
Is Swift "culture" different from Obj C in any meaningful way?
I don't know if it would be considered a cultural difference but Objective-C is a very object oriented language, while Swift is a protocol-oriented programming language and although you can solve any thing in Swift in an object-oriented way, there seems to be a strong push to solve things using Swift's protocol oriented features.