recommend literature?

Can anyone point me in the direction of some good literature about making applications with Xcode?


I just don't get all the delegates and controllers and views and actions and outlets and what-have-you.


I've looked at various websites, including Apple's pages, and sat through far too many low-fact-density Youtube videos, but I really need to find a decent text-based explanation.


Where did you find the best info?


Thanks

I am a newbie just like you. I can share what I started with before creating my Xcode applications.


Apple is shifting most of its frameworks towards Swift, so I started with Apple's own Swift Language Guide. It is available for free on iBooks. Just fire up a Xcode playground and start writing the example code. After a first few chapters, try implementing some well know algorithms in Swift. Trust me it helped me a lot.


I bought a copy of iOS Programming 6th Edition of the Big Nerd Ranch Guide by Keur and Hillegass. It contains detailed explanations and implementation of almost all the UI interfaces like tableView, collectionView, scrollView, Navigation and Tab Controllers, stackView, CoreData, Archiving etc. You can easily get an ebook as well. The corresponding macOS version is also available if you are into that.


Don't worry about how much time it will take you. If you have any prior programming experience, it will take you less than a month to start working on your own app. One important thing to note, when in doubt while coding, don't search for an answer first on the web but instead go to Xcode's Documentation and API Reference.


Best of Luck!!

Thanks. I've got no problems with Swift and the APIs (well, ok, the "Schroedinger's variable" thing makes me cough), it's just turning it into an app that I don't understand.

I think I had a Big Nerd Ranch book about 10 years ago, and even wrote a couple of apps, but lots has changed since then.

I started in 2010 with Ray and Johnson's "Sams Teach Yourself iPhone Application Development in 24 Hours". It walked me through Xcode and submitting an application very nicely. Then there was the issue of learning Objective C (or Swift) - use Apple documents or the Big Nerd Ranch Guides.

I've bought the Big Nerd Ranch book of Swift Programming. It mentions "delegate" only once, and doesn't define it. There's one walkthrough of a very basic Mac app and one of an iPhone app.
Oh, well, I'll keep plugg-ing away with trial and error!

You're not alone to find delegate concept a bit hard to grasp at first.


For me, I tried to figure it out with the following pattern:

I am an object (a view typically)

I need to perform some task (like updating when something happens)

Then I delegate this task to someone esle (typically my controller): to do this, I declare (either in IB or in code) whos is my delegate

The delagate must accept the delegation: so it declares to conform to the delegate protocol that will take care of the object requesting delegation

And it implements the methods to do this, whilst having access to all of the class properties.

Here's Apple's text:

https://developer.apple.com/library/content/documentation/General/Conceptual/DevPedia-CocoaCore/Delegation.html

There is a possible 'confusion' with a standard delegate and the over arching "AppDelegate". A standard delegate is assigned to a procedure to receive, from that procedure, various calls when various things happen within the procedure. For example, a picker calls its delegate whenever someone moves it to a different pick. The AppDelegate is the same thing for the operating system that is running the app. When the app starts - the operating system calls the didFinishLaunchingWithOptions: method in the AppDelegate.

Apple's text on delegates is quite short and still fairly opaque -- it doesn't even explain why would I need to delegate something at all.

But it's more the broader picture than this specific example -- I still don't know how everyone is knocking out iPhone apps with the seemingly sparse documentation that exists.

recommend literature?
 
 
Q