Objective-C Marathon
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
01 Counter
02 Don't tap me
03 Colored Circles
04 De Stijl
05 Where's Mona?
06 50 Shades of Gray
07 Inside iPhone
08 Never Sorry
09 Web Art
10 What's Pokemon
11 Final Countdown
12 Mickey Clock
13 Crazy Hours
14 Exit


Objective-C Marathon

Hello everybody! I'm a graphic designer from Moscow. I'm learning how to program in Objective-C.

Goals of marathon

  1. Learn Objective-C and iOS development step by step.
  2. Create a new app every single day.
  3. Deliver it in a form of simple yet smart idea.
  4. Don't be afraid of anything.
  5. Have fun.

Apps list

1. Counter

What I learned: creating buttons and displays, connecting it to some actions in my viewController.

2. Don't tap me!

What I learned: calculating random values, working with iOS typefaces, setting custom background color, handling single tap.

3. Colored Circles

What I learned: creating custom view, drawing circles with drawRect, accessing tap coordinates, working with UIColor, executing code in viewDidload.

4. De Stijl

What I learned: handling pan gesture, procedural drawing of De Stijl paining, storing CGPoint in @property.

5. Where's Mona?

What I learned: handling device rotation, loading different images to UIView, disabling device rotation animations (except the very first one), turning on upsideDown device position.

6. 50 (or 256 to be precise) Shades of Gray

What I learned: page-based application, categories, digging in some magic code.

7. Inside iPhone

What I learned: how to make app without writing any line of code at all.

8. Never Sorry

What I learned: how to compose picture and video input into augemented reality.

9. Web Art

What I learned: creating subviews in two ways: via storyboard & via code, handling tap gestures via storyboard, optimizing layout for both iPhone 4 and iPhone 5, making public properties for subviews to access them in gesture recognzied method

10. What's Pokemon

What I learned: creating multiple viewcontrollers, passing data between them via segues, making custom launchscreen, parsing NSString objects, getting data from property list

11. Final Countdown

What I learned: working with NSTimer, NSDate, NSCalendar, NSDateComponents, NSDateFormatter

12. Mickey Clock

What I learned: working with CALayers, rotation, gradients, sublayers, animations, anchor points.

13. Crazy Hours

What I learned: that making a analog clock abstraction it's not easy task at all, there was a lot of refactoring and rewriting

14. Exit

What I learned: making force exit from the app, imitating modal window using storyboard

Wanna learn

  1. Concepts of protocols and delegations
  2. Object oriented programming concepts in practice: A PIE (Abstraction, Polymorphism, Inheritance, Encapsulation)
  3. How to store data between user sessions
  4. UIGestureRecognizer and all possible gestures in iOS
  5. Frame animation
  6. Scroll views
  7. Table views


Feel free to pull requests to my code.