Swift:順番にコーディングして確認中

整数から順番にサンプルコードを書いて動作を確認しています。いくつか発見もありました。

1. 1行に複数の変数(命令)を書く。変数に文字列を代入。
var x = 0.0, y = 0.0, z = 0.0
welcomeMessage = “Hello”

let cat = “🐱”; println(“1行に複数の命令を書く \(cat)”)

2. 絵文字もOK。
let π = 3.14159
let 🐶🐮 = “dogcow”

3. 変数を埋め込んで出力・改行。\(option + ¥)のあとに(変数)。
println(“変数のプリント \(welcomeMessage) \(π)”)

4. 符号無32bit 正の整数のみ
var intUnsigned:UInt32 = 1

5. 符号無32bit -2,147,483,648 〜 2,147,483,647
var intSigned:Int32  = 1
intSigned            = -1

6. 整数のサイズ指定なし 正の整数
var inx:Int   = 1
inx:Int   = -1

7. MaxとMin
var inxMax     = Int.max
var inxMin     = Int.min

8. その他のもしかしたら使うかもしれない数値
let decimalInteger      = 17                                        // 十進数
let binaryInteger       = 0b10001                             // バイナリ
let octalInteger        = 0o21                                      // 八進数
let hexadecimalInteger  = 0x11                               // 十六進数

9. 日本語が使える。リテラル。常数に-1を割り付ける例。
let ネガティブはだめよ: Int = -1
inx = ネガティブはだめよ

10. typealias 属性の再定義が可能
typealias 整数 = Int32
var workIndex = 整数.min
println(“typealias1=\(workIndex)”)

11. BOOLはtrueとfalseのみ。YES / NOではない。
var boolCheck  = true
boolCheck      = false

12. Tuple タンプル 変数の構造定義
let tupleValue = (“お前の”,”カーチャン”,67)
var tupleVarible = (“あなたの”,”お母さん”,29)

12.1 インデクスを指定して値を取り出す
NSLog(“インデクスを指定😃\(tupleVarible.0)\(tupleVarible.1)\(tupleVarible.2)才??”)

12.2 Tupleをまとめて変数に取り出す。
var (word1,word2,age) = tupleValue

12.3 必要なものだけ取り出す。
let (_,_,motherage) = tupleValue

 

スクリーンショット 2014-07-17 23.11.44 スクリーンショット 2014-07-17 23.12.13

Advertisements

Swift:メソッドのパラメタ渡しと返り値

Swiftでメソッドを呼び出すときのパラメタ渡しの方法と返り値の設定の仕方まで勉強しました。個々までは順調です。

パラメタはObjective-Cとほぼ同じ形式です。返り値は->で指定します。

func ExecName(firstName:NSString, lastName:NSString) ->NSString
{
print(“==>ExecName(fistName:NSString, lastName:NSString)”)
println(“名前=\(firstName) \(lastName)”)
return “豊臣秀吉か徳川家康か”
}

呼び出しもObjective-Cとほぼ同じです。手続きが省略できるので簡単・簡潔になっています。

fullName = callTestSwift.ExecName(“John”, lastName: “Vicks”)

 

Swift:クラスとメソッド

クラスの定義とメソッドの呼び出し方は比較的に簡単でした。

気をつけたい点は、呼び出し元で呼び出すクラスを宣言するとき、初期化する処理があれば実行されることです。Objective-Cは宣言だけでalloc newで初期化しますが、Swiftは宣言と初期処理を同時にやります。この次は、パラメタ渡しの方法を調べます。(変数:属性)のようになっているようですが?

実行結果:

 Hello, world まずはこれからだなあ。。。
==>func ExecMethod() count=1000
==>func ExecMethodBy(amount: Int) count=1005
==>func ExecMethodBy(amount: Int) count=1505
==>func ExecReset() count=0

スクリーンショット 2014-07-16 18.16.41

スクリーンショット 2014-07-16 18.17.11

Swift:Hello, worldから

本当にこれからですね。Hello, world!

クラスとメソッドの定義、IBOutletの書き方までカバーされているので、この次はメソッドの呼び出し方がどうなっているか?

AppDelegateの初期処理のところにprintlnを定義してメッセージを出力してみました。

面倒でも、ひとつひとつやっていくしかいい方法が思いつきません。

スクリーンショット 2014-07-15 23.00.37