Download - Why iPhone? - CS50cdn.cs50.net/2015/fall/seminars/objective_c/objective_c.pdf · Main.storyboard h RWTMasterViewContro ler.h ... ( return type)myMethodTakesASt ring: (NSString*) stringVar

Transcript
Page 1: Why iPhone? - CS50cdn.cs50.net/2015/fall/seminars/objective_c/objective_c.pdf · Main.storyboard h RWTMasterViewContro ler.h ... ( return type)myMethodTakesASt ring: (NSString*) stringVar

Amazing iPhone Apps w ith Ob jective-C

A CS50Sem inar by Zack Chauvin’17

Page 2: Why iPhone? - CS50cdn.cs50.net/2015/fall/seminars/objective_c/objective_c.pdf · Main.storyboard h RWTMasterViewContro ler.h ... ( return type)myMethodTakesASt ring: (NSString*) stringVar

Why iPhone?

Page 3: Why iPhone? - CS50cdn.cs50.net/2015/fall/seminars/objective_c/objective_c.pdf · Main.storyboard h RWTMasterViewContro ler.h ... ( return type)myMethodTakesASt ring: (NSString*) stringVar

Why Objective-C?

Wealth of Resources

Established language

Similarity to C

Dominates Industry

Page 4: Why iPhone? - CS50cdn.cs50.net/2015/fall/seminars/objective_c/objective_c.pdf · Main.storyboard h RWTMasterViewContro ler.h ... ( return type)myMethodTakesASt ring: (NSString*) stringVar

Xcode

Page 5: Why iPhone? - CS50cdn.cs50.net/2015/fall/seminars/objective_c/objective_c.pdf · Main.storyboard h RWTMasterViewContro ler.h ... ( return type)myMethodTakesASt ring: (NSString*) stringVar

Broad Overview ofObj-C

Page 6: Why iPhone? - CS50cdn.cs50.net/2015/fall/seminars/objective_c/objective_c.pdf · Main.storyboard h RWTMasterViewContro ler.h ... ( return type)myMethodTakesASt ring: (NSString*) stringVar

Similarity to .c/.h

Page 7: Why iPhone? - CS50cdn.cs50.net/2015/fall/seminars/objective_c/objective_c.pdf · Main.storyboard h RWTMasterViewContro ler.h ... ( return type)myMethodTakesASt ring: (NSString*) stringVar

Object-Oriented Programming

Page 8: Why iPhone? - CS50cdn.cs50.net/2015/fall/seminars/objective_c/objective_c.pdf · Main.storyboard h RWTMasterViewContro ler.h ... ( return type)myMethodTakesASt ring: (NSString*) stringVar

Instance and Class Methods

Page 9: Why iPhone? - CS50cdn.cs50.net/2015/fall/seminars/objective_c/objective_c.pdf · Main.storyboard h RWTMasterViewContro ler.h ... ( return type)myMethodTakesASt ring: (NSString*) stringVar

Model View Controller

Page 10: Why iPhone? - CS50cdn.cs50.net/2015/fall/seminars/objective_c/objective_c.pdf · Main.storyboard h RWTMasterViewContro ler.h ... ( return type)myMethodTakesASt ring: (NSString*) stringVar

Analogy

Model

Controller

View

Page 11: Why iPhone? - CS50cdn.cs50.net/2015/fall/seminars/objective_c/objective_c.pdf · Main.storyboard h RWTMasterViewContro ler.h ... ( return type)myMethodTakesASt ring: (NSString*) stringVar

Code Example: Scary Bugs

Page 12: Why iPhone? - CS50cdn.cs50.net/2015/fall/seminars/objective_c/objective_c.pdf · Main.storyboard h RWTMasterViewContro ler.h ... ( return type)myMethodTakesASt ring: (NSString*) stringVar

Final Tips

Page 13: Why iPhone? - CS50cdn.cs50.net/2015/fall/seminars/objective_c/objective_c.pdf · Main.storyboard h RWTMasterViewContro ler.h ... ( return type)myMethodTakesASt ring: (NSString*) stringVar

Make a small practice app

before you jump into

the final project!

Page 14: Why iPhone? - CS50cdn.cs50.net/2015/fall/seminars/objective_c/objective_c.pdf · Main.storyboard h RWTMasterViewContro ler.h ... ( return type)myMethodTakesASt ring: (NSString*) stringVar

Usegitto collaborate with

partners and save work!

Page 15: Why iPhone? - CS50cdn.cs50.net/2015/fall/seminars/objective_c/objective_c.pdf · Main.storyboard h RWTMasterViewContro ler.h ... ( return type)myMethodTakesASt ring: (NSString*) stringVar

Run your code often

to catch bugs early!

Page 16: Why iPhone? - CS50cdn.cs50.net/2015/fall/seminars/objective_c/objective_c.pdf · Main.storyboard h RWTMasterViewContro ler.h ... ( return type)myMethodTakesASt ring: (NSString*) stringVar

Resources

raywenderlich.com

Stanford iOS Course (2013)

http://rypress.com/tutorials/objective-c