Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

JoJoe2k

macrumors newbie
Original poster
Oct 24, 2023
17
16
Hi all,

I have some programming experience from "back in the days" on classic macOS (like MacOS 9) and want to learn how to program iOS apps (as a hobby). However, I am struggling a little as to where to find or how to tackle the documentation...

I really do like the docs on the swift language itself, but I feel like as soon as I want to learn about a specific system component, there is only the API documentation together with a few "Overview" paragraphs. However I am looking for a bit more text that tells me the ideas around it and what good practices would be in using a certain framework. Maybe a bit like the "Inside Macintosh" book series that existed for classic macOS. Basically I could sit down with one of those books, read a few chapters and it made me really feel like actually understanding how things work...

As an example, I wanted to see how to use Machine Learning on iOS and went to https://developer.apple.com/machine-learning/. However, all the links from that page only lead to a very brief overview for the components. The rest is just API documentation. This would be great if I already knew exactly what I wanted to do, but it doesn't help me get the bigger picture.

I also found the WWDC videos, and they seem to contain much more about the philosophy behind things. Is that where people go for this kind of information? Should I go back and watch all the WWDC videos on the subject I am interested in?

How do you make sense of things and how do you use the documentation? Are there good places outside of the apple website for this kind of information?
 
  • Like
Reactions: Nermal
Careful, you're dating yourself (although I do have a copy of the phone book).

These days it is mostly sample/example stuff, as clubs and user groups are about as hard to find as a full Inside Macintosh set. You might take a look on GitHub for the various "awesome swift" (or Obj-C, or whatever) collections. There is a bunch of stuff in the APIs, so any given project would only use a few objects, once you get past the Foundation and AppKit stuff. For just an offline document browser, I use Dash.
 
  • Like
Reactions: JoJoe2k
You need to learn Swift first. This is a big task. You should learn this using a book like Swift Programming The Big Nerd Ranch Guide. This is a structured course in learning Swift.

Then you should read a book that is a structured course in iOS programming like iOS Programming: The Big Nerd Ranch guide.

Then you will be prepared to develop for iOS. You can't learn how to do this by reading Apple's documentation. After you learn this you will mostly read the Developer documentation, which at some point will be extremely frustrating. In my opinion, implementing implied typing in Swift was a huge mistake. I have to read the documentation every time I read anything about Swift.
 
  • Like
Reactions: JoJoe2k
Careful, you're dating yourself
Ah, I was afraid that would happen 😅

These days it is mostly sample/example stuff
Thanks for clarifying about the focus on examples these days. It's reassuring to know I haven't overlooked a major part of the Apple docs. I think you're right that part of the challenge for me is adapting to this different way of learning.

For me as a hobbyist, some of the fun comes from that feeling of really understanding things and while I am sure that - after learning the basics - I can hack something together that is "kind of working" based on example projects, I am not so sure if I will really feel like understanding it :confused:

That said, I probably need to dive in and experiment more before worrying too much about that. I'll definitely look into the "awesome swift" collections on GitHub.


You need to learn Swift first. This is a big task. You should learn this using a book like Swift Programming The Big Nerd Ranch Guide. This is a structured course in learning Swift.

Then you should read a book that is a structured course in iOS programming like iOS Programming: The Big Nerd Ranch guide.

Then you will be prepared to develop for iOS. You can't learn how to do this by reading Apple's documentation. After you learn this you will mostly read the Developer documentation, which at some point will be extremely frustrating. In my opinion, implementing implied typing in Swift was a huge mistake. I have to read the documentation every time I read anything about Swift.
Thanks for the book recommendations! I will definitively have a look at those!

I really liked the "Swift Tour" and the other parts of Apple's swift documentation and that somehow made me assume that the rest of the documentation would continue as detailed and "hand holding" as that.
 
Check out codewithchris for generic overview guides.

Hackingwithswift has a lot of guides about a lot of Swift, with examples too
 
  • Like
Reactions: JoJoe2k
I agree about Apple’s specific API documentation being very simplistically technical and not providing any real understanding.

The best resource(s) will depend on your learning preference/style.

Apple’s videos are okay.
Obviously, you can also search YouTube for some freebie “courses.” For me, at least some of them were/are helpful.
And, indeed, there are numerous paid courses, for example:

I overlooked this, apparently, discovering it now:
Some pages appear limited and bland as the specific documentation, although, some contain lengthier explanations and provide example code snippets.

To me, the sample tutorials, projects have also been useful in demonstrating, understanding different classes, frameworks, etc.

Speaking of sample projects/apps... Playgrounds is a nice environment to do some learning and experimenting.
 
>But I feel like as soon as I want to learn about a specific system component, there is only the API documentation together

> I am struggling a little as to where to find or how to tackle the documentation...

You don't lol. It's well known that apple has basically obliterated all its documentation. Everyone in the know uses the legacy/archived documentation for actual understanding. Also be sure to check out the old WWDC videos, lots of knowledge in there that can't be found anywhere else.

And for newer stuff (swift era) proper library documentation doesn't exist, basically hope that someone else has done the work of figuring out the bigger picture and footguns for you.

No idea why apple tries so hard to erase anything of value.
 
  • Like
Reactions: Nermal
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.