Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

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.


Objective-C Marathon







No releases published


No packages published