321 Zero! – Countdown

321 Go!

Let's play a game! How to handle the lazy one

Some lazy people who don't move? Just enable round table mode!
This will force to go on and hand the game over to the next person.
1. Just choose a countdown by swiping to left and right
2. Long press to start countdown

[cml_media_alt id='1873']321-zero-Icon-76@2[/cml_media_alt]



[cml_media_alt id='627']download-on-the-app-store[/cml_media_alt]




Round table, game, play.

There are many countdown like Apps already, but this one is unique.

1. Just swipe left or right to get an other countdown with a different theme and sound.

2. Choose whether to loop the countdown timer or not.

3. Setup the countdown for let's say 1 minute. The alarm will go off after one minute and starts count down again and so on.


[cml_media_alt id='1876']321-zero-4.0-640x1136-iphone5s[/cml_media_alt]
Just one countdown option with different themes and sound. Just swipe left- or right to get another one

Privacy Policy

321 Go! version 1.2.2.

[ x ] Does not store any personal information nor share any personal information.

[ x ] Published only to the App Store from Apple

It uses these technologies:

[ x ] this App can work offline without any internet connection.

[ x ] use only 100% Swift code done with Xcode.

[ x ] ads done with AdMob from Google may be displayed to the user.

[ x ] may use location data for ads for Google ads.

[ x ] App Sandbox usage: Yes. (Required for Apps within the App Store from Apple that helps protect against unwanted actions.)

About Swift - The new programming language from Apple

This is my first App written in Swift. The Swift programming language seems to be very promising. I know about PHP, Python, C / C++, Perl, etc. but Swift has many things built in that makes it more robust. Many things will not compile with Swift while it will compile with Objective-C/COCOA or C/C++. BTW: Ada is the language of choice if you are in the high-end market for secure and robust systems.

.swift files

Everything is a class. So Swift now uses just like Java one file for a class definition. For example: "MyClass.swift" - Everything is in this one file. No .m and .h files required anymore like in Objective-C / COCOA or like .c and .h as in C++.

Swift feels very intuitive and natural. This is maybe because it borrows many things from many other languages. It's more like BASIC and Pascal then C / C++, more secure but with the performance of C.


// Usage:
//   let (diameter,perimeter,surface) = myCircle(12.5)

func myCircle(in_radius : Float) -> (Float, Float, Float)    // will return 3 Float values
    var ret_diameter = in_radius * 2                   // ret_diameter must be Float
    var ret_perimeter = in_radius * 2 * 3.14159
    var ret_surface = in_radius * in_radius * 3.14159
    return (ret_diameter, ret_perimeter, ret_surface)  // returns 3 values

This function returns multiple return values.

New Type Optional

Swift has a new type: Type Optional. A variable can be optional that means something or nothing. 1 or NIL, 3.14 or NIL, "Abc" or NIL. (NIL = nothing, not existing). Any C program that access a NIL will crash. Swift can handle that on compile time (which don't let you compile it) or on run time (which results in a crash and terminates) which results in a more robust application.


<span class="kt">var</span> <span class="vc">optionalInteger</span>: <span class="n">Int</span>?

Variable optinalInteger is an Optional Type which can be an Int or NIL (Nothing).

Let's assign an int value to this optional variable.

optionalInteger = 42

Using the ! operator to unwrap an optional that has a value of nil results in a runtime error.

So an Optional is a value or nothing at all.

Declare an Optional

var serverResponseCode: Int? = 404   // serverResponseCode contains an actual Int value of 404
serverResponseCode = nil             // serverResponseCode now contains no value

if ( serverResponseCode != nil ) {
    // -- ok, serverResponseCode holds an Int value
    if ( serverResponseCode != 404 ) {
        // -- error handling 404 page not found
} else {
    // -- serverResponseCode does not hold an Int


Convert String to Optional Int

let possibleNumber = "123"
let convertedNumber = possibleNumber.toInt()
// convertedNumber is inferred to be of type "Int?", or "optional Int"

This is because the conversion function .toInt() which converts a String to Int can fail. If you feed it with an empty String "" or with letters, or something else, conversion might fail.

For more on Swift, please visit: https://developer.apple.com/swift/

User Interface with Xcode

In Xcode the new default is auto layout. With auto layout you can design an UI from one source that fits into different devices like iPhone and iPad. This is possible with so called constraints. You need to "pin" UI elements like button the it's boundaries until it's clear for auto layout to place the button.

[cml_media_alt id='1882']321-zero-xcode-4.7inch-iphone6[/cml_media_alt]
iPhone 4.7-inch user interface (UI) for an iPhone 6 display
[cml_media_alt id='1886']321-zero-xcode-3.5inch-iphone4[/cml_media_alt]
iPhone 3.5-inch for iPhone 4
[cml_media_alt id='1888']321-zero-xcode-ipod[/cml_media_alt]
iPad Full Screen (scaled down)


Just leave a comment below.


Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Scroll to Top