Swift 基礎殴り書き(更新中)

環境

  • MacOSX10.11
  • Xcode7.1


変数/定数/型

  • 型推論
  • 変数宣言時に""でくくると文字列型になる
  • 末尾コロン不要
  • 定数はletで宣言
  • 変数はvarで宣言
  • 型決定後は他の型を代入するとエラーとなる
let aaa = 10
var bbb = 20
let ccc: Int // 型のみ宣言
let ddd: Int = 1, eee:Int = 20 // 定数: 型 = 値, 定数: 型 = 値
bbb = "text" // 異なる型を代入するとエラー


特殊文字

  • \0 ヌル
  • \t タブ
  • \n ラインフィード
  • \r 改行
  • \n {nn} 1バイトのユニコードスカラ値(nn: 2桁16進数)


タプル

  • 複数の値をまとめたもの
  • そのまま演算することが可能(配列はキャスト(型変換)が必要)
let aaa = ("111", "222")
var bbb:(String, Int) = ("ppp", 333) // var 変数名:(型名, 型名) = ("値", "値")

// タプルへのindexアクセスはドットで行う
let zzz = ("ccc", "ddd")
print(zzz.0)
print(zzz.1)


文字列いろいろ

(valueは変数)

  • 文字数取得 let num = value.utf16.count
  • 文字列比較 if str1 == str2 {...}
  • 文字列結合 let plus = value + value2
  • 数値から文字列へ let str = value.description + "cm"
  • 文字列取り出し let pull = (value as NSString).substringFromIndex(4)[substringToIndex(4)][substringWithRange(NSMakeRange(2,7))]


用語整理

  • delegate: 他のclassのinstanceに処理を任せる. 処理を依頼するclass/依頼されるclass/protocolの3つが必要.
  • protocol: classの設計図. 外部へのインターフェースのみを定義する.


記述法

  • classはupper camel: class TestAccount
  • property,methodはlower camel: func testAccount


instance関連

  • instance生成 var test = TestClass()

  • instance属性へのアクセス var aiu = Hiragana() aiu.name = "あいう" print(aiu.description()) // あいう


Storyboard関連

  • @IBOutlet: @IBAction: Storyboardから認識されるようになる.