How to read Apple Developer Documentation

I think I understand the declaration at the top of each class or method, whether it conforms to specific protocols, and its listings of associated properties and methods.

But its devoid of any specific code samples.

Example (albeit it might not be the best example), I’m not sure if I should use

self.locationManager.requestWhenInUseAuthorization()

or just simply

locationManager.requestWhenInUseAuthorization()

when working on the Silver Challenge from Chapter 6, let alone whether there’s a fundamental difference between the two (I don’t think I noticed one when I ran the program)

I haven’t found a suitable how-to, but even assuming I perfect the material in this book, interpreting Apple’s developer documentation still has a steep learning curve.

Anyone know of a good resource that identifies how to correctly read their documentation?

I don’t know of any “how to read” instructions for Apple documentation, you just have to read a lot of it & get used to how they do things.

As for self, most of the time you don’t need it - Swift can figure out that you’re referring to a class property or function. But there are times when you need to use it. This page talks about self in more detail.

As JonAult says, just keep reading and get used to it. As you gain more experience, the pain will diminish.

However, the lack of working code samples in printed form is a major problem with their documentation. They seem to be moving things into videos. I argue that watching videos to learn new things is a total waste of time and energy.

For that you need to read the language guides. Fortunately, their language guides are still pretty good.

The following material is worth reading from cover to cover.

The Swift Programming Language

The Objective-C Programming Language

Programming with Objective-C

By the way, you can become a competent programmer faster than you can imagine.

  1. Okay, I don’t have the resources or the time for a course like that.

  2. Is there a sequence to pour through these different materials that Ibex10 links (except for the 1500 AUD course)? Or rather, is there a proper way to read these things concurrently?

Paraphrasing Katrina Owen, she captures my current (usual) frustrations with trying (again) to learn how to do this:

“It seemed like the only way to learn how to be a good programmer is to start
before you can walk and then you learn how to read best by
reading programming manuals, and then you’re exposed to computers
before you can walk. And by the time you’re old enough to go to
high school, you’ll already be in college and smarter than everyone else…”

In other words, you already have to know everything before you can learn anything.

I can almost appreciate what the authors are doing from a Dreyfus Scale perspective. Each chapter body treats the reader like a Novice. But then the challenges prompt that reader to instantaneously turn into an Advanced Beginner, maybe even a Competent…practically without much of a paddle.

As a result, Bronze Challenges that should take minutes take hours, Silver Challenges take days, and Gold Challenges take weeks. Meantime, based on posts for later chapters in these forums, it’s easy to feel like you’re behind everyone else, even though you should be able to complete these challenges like they did given that we’re all working off the same materials.

The students who attend the in-person bootcamps don’t have that type of time because of the length of the course. I’d be interested to find out how long it took them to complete these challenges successfully, and what the fallback is if they got stuck or failed. Did they just skip it? Or could they not complete the course? Or did they just ‘humor’ the instructor’s solution in the hopes they could understand and recall its implementation in the future?

Because if the answer to that last question is “Yes,” then the student doesn’t learn anything beyond copying and pasting code. I prefer not to do that for the sake of progressing through this book.

Because that isn’t exactly learning. But neither is staying stuck without a glimmer of experiencing a breakthrough.