I heard that Objective-C is something like “Smalltalk implemented within C”; a solution trying to combine the advantages of both languages. Since you already have experience with C, I guess it could be useful to also learn some Smalltalk tutorials; not to become a fluent Smalltalk programmer, but to get an awareness of how things are approached in that language. And perhaps then, some things in Objective-C would make more sense as you would know what the authors of the language were trying to accomplish.
More meta: A few times I tried to write a programming tutorial or textbook, but I usually stopped at asking myself: “I am going to teach X to people who already know what?” Because when I am teaching, that is the essential question; I can’t imagine doing it otherwise. I always start by asking my students what they already know, verifying that they really know it instead of just guessing my password. But how would you do the same thing with a textbook?! Then the remaining options seem to be just assuming some background knowledge (and I feel any specific assumption will usually be wrong), or start by explaining everything from some common base (e.g. high school math), but then the tutorials would be extremely long and a lot of starting material would be repeated in different tutorials. So to avoid the repeating, maybe I should separate the shared parts and actually make a tree of tutorials… and at that moment I usually see the amount of work, how much would it take… and I give up.
I heard that Objective-C is something like “Smalltalk implemented within C”; a solution trying to combine the advantages of both languages. Since you already have experience with C, I guess it could be useful to also learn some Smalltalk tutorials; not to become a fluent Smalltalk programmer, but to get an awareness of how things are approached in that language. And perhaps then, some things in Objective-C would make more sense as you would know what the authors of the language were trying to accomplish.
More meta: A few times I tried to write a programming tutorial or textbook, but I usually stopped at asking myself: “I am going to teach X to people who already know what?” Because when I am teaching, that is the essential question; I can’t imagine doing it otherwise. I always start by asking my students what they already know, verifying that they really know it instead of just guessing my password. But how would you do the same thing with a textbook?! Then the remaining options seem to be just assuming some background knowledge (and I feel any specific assumption will usually be wrong), or start by explaining everything from some common base (e.g. high school math), but then the tutorials would be extremely long and a lot of starting material would be repeated in different tutorials. So to avoid the repeating, maybe I should separate the shared parts and actually make a tree of tutorials… and at that moment I usually see the amount of work, how much would it take… and I give up.