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
Usage
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.
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.
Functions
// 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.
Example:
<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.
Support
Just leave a comment below.