Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Objective C for iOS... a good resource for a php programmer?

I have been developing web apps (primarily) using php and a bit of python, mysql, etc for many years now. I have a reasonably good grasp of objective-based development, and use objects as much as possible in my projects, although I certainly don't take full advantage of them. I am comfortable enough to be dangerous with C++,C, and have even touched a bit on ruby.

All that said, Objective C is giving me a very hard time. Not sure if it's the syntax, the file structure, etc, but i'm just not grasping how to properly put together the different components of an app, despite having gone through a few tutorials and explanations online. I have xcode, and have tried doing some basic stuff, but get lost quickly in real implementation.

My question: Can anyone recommend me a really solid book/books with some good examples that I can walk through to help me understand this language better? I am primarily interested in database interaction (or xml parsing) and audio streaming/delivery capabilities.

Any suggestions would be very much appreciated! Thanks!

like image 375
Jonathan Avatar asked Feb 04 '11 19:02

Jonathan


Video Answer


1 Answers

3 items:

The syntax isn't going to be a problem for long. Just keep reading Objective C code, and pretty soon the brackets will start seeming as familiar as the dots (or other forms of punctuation abuse) in other OO languages.

If you are a procedural language coder, you will have to get your head around event driven application design. The basic idea is you can't always tell the OS what to do, when you want to do it, and then do the next thing. You have to learn to chop up your procedural code into callbacks, and then let the OS call your code when the OS is good and ready. You might have to learn how to save appropriate state between callbacks (e.g. You can't use a "loop index" between callbacks without saving it somewhere.)

You might also have to get used to the object oriented MVC design pattern. It's like figuring out the difference between writing procedures for a one-man store, and setting up operations for a larger business with divisions in separate buildings. The guy talking to the customer isn't the guy closing the books. Same with MVC, the view presenting the UI to the user isn't necessarily the same object that does the storing or updating of the data representing what the user sees or does. Once you learn the logic of the separation, figuring out which file to look in for something will get a little easier.

like image 153
hotpaw2 Avatar answered Sep 18 '22 23:09

hotpaw2