navigate site menu

Start learning with our library of video tutorials taught by experts. Get started

iOS SDK Essential Training (2012)
John Hersey

iOS SDK Essential Training (2012)

with Simon Allardice

 


In this course, author Simon Allardice shows how to develop, debug, and deploy applications for the Apple iPhone, iPad, and iPod touch using iOS 5 SDK and Xcode 4. The course reviews Objective-C basics, covers key concepts such as the Model-View-Controller pattern and delegation, and explores new features of the SDK, including Automatic Reference Counting (ARC) and Storyboards. The course also shows how to create and customize user interfaces and table views and develop apps with multiple view controllers, and explores the differences between iPhone and iPad development.
Topics include:
  • Using Xcode and the iOS Simulator
  • Reviewing Objective-C basics and structure
  • Creating objects, variables, properties, and custom classes
  • Connecting UI elements to code
  • Using Delegation
  • Troubleshooting an application
  • Using the Xcode debuggers
  • Creating and customizing table views
  • Introducing blocks
  • Saving and loading data
  • Understanding iPad development
  • Creating iPad apps with popovers and split views
  • Creating application icons and launch images

show more

author
Simon Allardice
subject
Developer, Mobile Apps
software
iOS 5, Xcode 4
level
Beginner
duration
6h 26m
released
Mar 01, 2012

Share this course

Ready to join? get started


Keep up with news, tips, and latest courses.

submit Course details submit clicked more info

Please wait...

Frequently asked questions

Find answers to the most frequently asked questions about iOS SDK Essential Training (2012).




Q: I'm not seeing the @synthesize lines appear like they do in the course. Why?


A: This is seen in the movie "Creating Quick Connections" in Chapter 4.

 
The short answer:
You can either (A) type them in yourself (this is not necessary, but if you want to make it exactly the same, it's the way to do it), OR (B) now use an underscore (_) at the start of the name of the variables ( _myTextField and _myLabel) when using them.
 
The long (better) answer: 
One of the perils of Apple frequently updating Xcode is that they often make small changes that can impact what the author has recorded.
 
When Simon recorded the course, Xcode used to add "@synthesize" lines for you.
 
Now, with the latest versions of Xcode, the @synthesize lines aren't added. Instead, they're automatically "generated" behind-the-scenes when you build the project.
 
And by "generated", that doesn't mean they're "added to your code"—you won't see it in the code—but generated, meaning: "During compilation, Xcode will see you have a "@property" statement in the .h file, and automatically synthesize any support for that property without you needing to have an actual "@synthesize" line in your code anymore."
 
This is a good thing. It makes your life a little easier. But here's the one problem you may run into.
 
If you let Xcode do it, it will add them slightly differently than how it used to—it will name the property's instance variable with a leading underscore. So if you're referring directly to the variable within your own code, you'd need the underscore.
 
When Simon recorded the course, letting Xcode add the @synthesize lines, the default behavior meant you had two variables inside the class, called: myTextField and myLabel
 
But now if you let Xcode do automatic synthesize, the properties are called myTextField and myLabel, and the internal instance variables they wrap are called _myTextField and _myLabel
 
So code like this:
 
[myTextField text]
or
[myLabel setText:message]
 
—would now work if you added the underscore:
 
[_myTextField text]
or
[_myLabel setText:message]
 
HOWEVER, here's a good rule of thumb. We could, but shouldn't, really do it that way. If you let Apple do the automatic @synthesize, just avoid using the underscore version completely.
 
Regard the underscore as an indicator that Apple are telling you to just leave it alone, and always use the full property name, without the underscore.
 
Internal within that class, we'd need to use "self" to make it explicit we're accessing a property method inside the current object:
 
So code like this:
 
[myTextField text]
or
[myLabel setText:message]
 
—should really become:
 
[self.myTextField text]
or
[self.myLabel setText:message]

Can’t find an answer?

If you still have a question about iOS SDK Essential Training (2012), let us know.

ask a question

Suggested courses to watch next:

Objective-C Essential Training (6h 35m)
Simon Allardice

Xcode 4 New Features (1h 58m)
Bill Weinman



Are you sure you want to delete this bookmark?

cancel

Bookmark this Tutorial

Name

Description

{0} characters left

Tags

Separate tags with a space. Use quotes around multi-word tags. Suggested Tags:
loading
cancel

bookmark this course

{0} characters left Separate tags with a space. Use quotes around multi-word tags. Suggested Tags:
loading

Error:

go to playlists »

Create new playlist

name:
description:
save cancel

You must be a lynda.com member to watch this video.

Every course in the lynda.com library contains free videos that let you assess the quality of our tutorials before you subscribe—just click on the blue links to watch them. Become a member to access all 104,069 instructional videos.

get started learn more

If you are already an active lynda.com member, please log in to access the lynda.com library.

Get access to all lynda.com videos

You are currently signed into your admin account, which doesn't let you view lynda.com videos. For full access to the lynda.com library, log in through iplogin.lynda.com, or sign in through your organization's portal. You may also request a user account by calling 1 1 (888) 335-9632 or emailing us at cs@lynda.com.

Get access to all lynda.com videos

You are currently signed into your admin account, which doesn't let you view lynda.com videos. For full access to the lynda.com library, log in through iplogin.lynda.com, or sign in through your organization's portal. You may also request a user account by calling 1 1 (888) 335-9632 or emailing us at cs@lynda.com.

Access to lynda.com videos

Your organization has a limited access membership to the lynda.com library that allows access to only a specific, limited selection of courses.

You don't have access to this video.

You're logged in as an account administrator, but your membership is not active.

Contact a Training Solutions Advisor at 1 (888) 335-9632.

How to access this video.

If this course is one of your five classes, then your class currently isn't in session.

If you want to watch this video and it is not part of your class, upgrade your membership for unlimited access to the full library of 2,024 courses anytime, anywhere.

learn more upgrade

You can always watch the free content included in every course.

Questions? Call Customer Service at 1 1 (888) 335-9632 or email cs@lynda.com.

You don't have access to this video.

You're logged in as an account administrator, but your membership is no longer active. You can still access reports and account information.

To reactivate your account, contact a Training Solutions Advisor at 1 1 (888) 335-9632.

Need help accessing this video?

You can't access this video from your master administrator account.

Call Customer Service at 1 1 (888) 335-9632 or email cs@lynda.com for help accessing this video.

preview image of new course page

Try our new course pages

Explore our redesigned course pages, and tell us about your experience.

If you want to switch back to the old view, change your site preferences from the my account menu.

Try the new pages No, thanks

site feedback

Thanks for signing up.

We’ll send you a confirmation email shortly.


By signing up, you’ll receive about four emails per month, including

We’ll only use your email address to send you these mailings.

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

By signing up, you’ll receive about four emails per month, including

We’ll only use your email address to send you these mailings.

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked