It is mostly learning syntax, language idioms, and frameworks.
The problem is that all of the good printed material abandoned Objective-C sometime around iOS 7. That's a while ago.
I'm a book guy. Other people may have other recommendations. But these are mine.
Take a look at this: https://www.amazon.com/iOS-Programming-Ranch-Guide-Guides-ebook/dp/B00IG8TGZ8/
And this: https://www.amazon.com/Beginning-iOS-Development-Exploring-SDK-ebook/dp/B01HXFM5JS/
I used the iOS 5 versions of both of these books to learn, actually. But I think the iOS 7 versions are the last Objective-C ones.
The benefit of books like these are that you actually learn the frameworks and language idioms, in addition to the syntax. You'll learn how program Objective-C like and Objective-C programmer.
The bad news is that you are not going to be able to follow these books page-by-page, at this point, without running into trouble.
I would go through the material early in the book, expecting to have to look up errors you'll run into on Stack Overflow, etc. The errors will likely be deprecations that have since been removed—things like that. After you get your bearings, I would look for an old cookbook from O'Reilly or another publisher, again, from iOS 7.
But, I would concentrate on identifying what I needed for work, getting toy projects to work, as an aid to understanding, and then bringing that knowledge to my job's code.
There are still enthusiastic Objective-C developers out there who are glad enough to help. Good luck!
For Objective-C learning, in case you are already familiar with a programming language, I recommend cocoadevcentral.
I would start by making a note-taking app, that writes and reads to a SQLite database and meanwhile you get familiar with writing model classes. Perhaps extend the app to connect with a restul JSON API. You'll naturally learn design patterns like blocks and singletons and delegates. I've been through all this recently with not much else than stackoverflow + programming blogs. You'll be fine.
Check out /r/learnprogramming, especially the FAQ. Check out http://www.codecademy.com/ as well. They have some interactive guides that are good at getting people started on the path.
You need to understand the basic building blocks before you can zero in on a language.
> You'll probably be better off getting a book specifically for iOS or Mac development rather than a general ObjC book.
I agree, even if used as a primer before progressing to more in-depth objective-c. It really helps to understand how the specific method or procedure is used for iOS/Mac, so you can frame your understanding around that execution context. The book to consider if you would decide to pursue a deeper understanding of Obj-C would be <em>Programming in Objective-C (6th Edition)</em> by Stephen Kochan.
By the way, Safari Books has a free 10 day trial and they have the Big Nerd Ranch Guides and Kochan's book both available. You can review them and work through a few chapters before deciding to buy (I wouldn't recommend paying for a subscription for on-going book access as it is $40/month and all three of these books can be had for $60-ebook, $90-paperback.
if [dict valueForKey:@"year"] is NSString object same as sectionYear it's better to use [[dict objectForKey:@"year"] isEqualToString: sectionYear] or dict[@"year"] isEqualToString:sectionYear
I think those people who don't think you need to know C are probably poor programmers, churning out half-assed code. Objective C is a superset of C, and having solid C chops is an asset.
For the C side of things, 'The C Programming Language' by Kerningham and Richie is the book from which all other C books are derived. It's only 259 pages which you could probably work through the exercizes in under a week.
I've never read the Big Nerd Ranch books, but every time this question is asked, that's the answer.
A lot of people have had success with Hackintosh (e.g. running Mac OS X on non-Apple hardware or in a virtual machine). Take a look at this site for more information, although note that virtualising OS X on non-Apple hardware violates the license agreement, as does virtualising anything older than 10.7.
You can't encrypt your dylib, because then you can't run it.
Your server is open to the entire internet at all times. Hiding where it is from your users isn't going to keep it safe. That's often referred to as "security through obscurity" and is not effective.
With server connections you want to use an encrypted connection so that other people on the internet can't intercept the data being passed between your server and app. Since most app APIs communicate over http, the easiest way to do that is by using the encrypted version, https. You do that by applying for a signing certificate from what's called a certificate authority. The let's Encrypt project is an easy and free way to enable https.
When you have an app sending user data you also want to be able to authenticate the request so that you can be sure that you're sending data to the correct people. That requires each user to have their own account. For that you're going to need custom server software. Ruby On Rails, and Django are popular for writing those, but be warned, building a custom backend requires an additional set of skills beyond writing an iOS app. It takes time to learn, and your first few attempts aren't going to be acceptable. It can be done, but it's going to take a lot of time and effort to learn.
You can go to github and search objective c projects.
The problem might be with Xcode versions they require especially if they depend on external macOS. Or you can learn by fixing errors and warnings generated by newer Xcode :)
I use VMWare with older macos versions and older Xcode versions but that becomes questionable practice with new M1 Macs and possibility of losing x86 virtualisation forever.
I would recommend Beginning OS X Lion Apps Development if you can follow it from start to finish as they build a complete app.
And Cocoa Programming Developer's Handbook where you can jump from any chapter to another.
>Stephan Cochan
Not sure if it's a bug on Amazon UK, but it allows me to see the vast majority of the book without even buying it.
https://www.amazon.co.uk/Programming-Objective-C-Developers-Library-Stephen/dp/0321967607