読者です 読者をやめる 読者になる 読者になる

Code Log

プログラミングの勉強メモを残していきます。

XCodeがUpdateされたときは、Swiftのバージョンを確認する方法

以下のコマンドで確認できる。 $ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -v Apple Swift version 3.0 (swiftlang-800.0.46.2 clang-800.0.38) Target: x86_64-apple-macosx10.9 /Applications/Xcod…

Swift3にアップデートしたらCGRectMakeが使えず、'CGRectMake' is unavailable in Swiftとエラーが出るようになった。

XCodeをUpdateしてから、本に書いてあるサンプルのほとんどが陳腐化してしまった。 CGRectMakeという、座標を指定する関数が使えなくなっていた。「'CGRectMake' is unavailable in Swift」というエラーが出るようになってしまったのだ。 このエラーに対応す…

Swiftでボタンを押したタイミングでキーボードを下げる

入力する時にキーボードは必要ですが、いつまでもキーボードが表示されたままだと格好悪いので、 入力が完了したタイミングでキーボードを隠す処理を実装してみましょう。ボタンを押したタイミングでキーボードを下げる処理は以下のように実装します。 @IBAc…

SwiftでUITextFieldの値の変化をチェックして、イベントを受け取ってLabelの値を更新する

SwiftでTextFieldに入力された値に反応して、その値を習得。 そして取得した値をLabelなどにリアルタイムで反映させたときがあると思います。そんなときは、以下のようなコードを書きます。viewDidLoad()のメソッド内に以下を書きます。 textField.addTarget…

Swiftで自作クラスを作成する

Swiftで自作クラスを作成する構文は以下のとおり。 import UIKit var str = "Hello, playground" //クラスのインスタンス化を行う var radio = UISwitch() //プロパティを設定する radio.on = true //メソッドを使ってプロパティを設定する radio.setOn(fals…

NSURLSessionを使ってインターネット通信を行う。

import UIKit import XCPlayground XCPlaygroundPage.currentPage.needsIndefiniteExecution = true let session = NSURLSession.sharedSession() let url = NSURL(string: "http://www.yahoo.co.jp")! let request = NSURLRequest(URL: url) let task = ses…

NSUserDefaultsを使って自作クラスをシリアライズ/デシリアライズする

シリアライズとは、オブジェクトの内容をバイナリに変換すること。 バイナリからオブジェクトに復元することをデシリアライズという。 import Foundation class MyData :NSObject, NSCoding { var valueString :String? override init() { } func encodeWith…

Swiftでtry〜catch

unc myFunc(value :Int) -> Int { var resultValue :Int = 0 resultValue = value return resultValue } myFunc(1) //throw the error enum MyError :ErrorType { case InvalidValue } func doubleUp(value :Int) throws -> Int { if value < 0 { throw MyEr…

if let文でOptional型でラップされた変数をアンラップする。

Optional型とは、値が存在しないかもしれない状態を持つ型のこと。 Optional型を利用するには型の最後に「?」を付ける。 そうすると、nulを代入可能な状態になる。このことを「Optional型でラップする」という。Optional型でラップされた変数に対して、nilで…

SwiftのArrayとDictionary

import UIKit var str = "Hello, playground" let myLabel = UILabel(frame: CGRectMake(0,0,200,50)) myLabel.backgroundColor = UIColor.redColor() myLabel.text = "Hello, swift" myLabel.font = UIFont(name: "Georgia", size: 24) myLabel //mutable a…

Swiftのif, for while

//: Playground - noun: a place where people can play import UIKit var str = "Hello, playground" //if let score = 70 if score>=80 { print ("合格です!") } else { print("不合格〜!") } print("\(score)点でした。") //switch let color = "blue" …

Swiftでクラスを作る

Swiftでは以下のようにクラスを定義することができます。 class myClass { var str = "hello" func sampleFunc(val:String) { println("argument is \(val)") } } var obj = myClass() println("str is \(obj.str)") obj.sampleFunc("yahoo")

Swift 辞書データ(Dictionary)で要素をfor文で回して全部見る

Swiftのdictionaryは、JavaでいうMapのようなものです。 データにキーとなる名前をつけて、キーで指定して読み書きを行います。データを取り出すときは、名前(キー)を使って取り出します。サンプルを見てみます。 //空の辞書データを作る var emptyDic = Dic…

Swift Optional Value

Swiftでは、変数にnil(空のデータ)を入れるようなプログラムを書くと、その場でエラーが表示されるようになった。 しかし、わざとnilを入れたい場合もあるわけで、そういうときにXcodeがいちいちエラーを表示してたら先のプログラムが書けません。そういうと…

Swiftの配列

配列を定義する var array = [1,2,3] var strArray = ["a","b","c"] 型指定 var intArray:[Int] = [1,2,3] var strArray:[String] = ["A","B","C"] var intArray2:[Int] = ["A","B","C"] //エラー 同じ値で初期値を作る var intArraySame = Array(count: 3, …

Swift 戻り値を返す関数を定義する

Swiftで戻り値を定義するには、「->」を使って型を指定します。 import Foundation func greet(name: String) -> String{ var message: String = "Good Morning!, \(name)"; return message; } var message: String = greet("yamada"); println(message); 結…

Swift 関数に引数を渡す

Swiftで関数に引数を渡すには、以下のように書きます。 import Foundation func greet(name: String) { var message: String = "Hello, \(name)"; println(message); } greet("yamada"); func greet2(name: String, message: String) { var message: String …

Swiftで配列を定義して、for~inでループしてindexと中身を取得する方法

Swiftで配列を作るには、[]で値を囲めばいい。 import Foundation var names = ["yuko","mika","ruriko"]; var name = names[0]; println("names[0] is \(name)"); for (index, element) in enumerate(names) { println("Name: \(index): \(element)"); }結…

Swift 文字列の長さを数えて取得する 文字列の大文字と小文字を変換する

Swiftで文字列の長さを数えるには、countElements関数を使います。 countElementsを使ってコンソールに表示するもよし、返り値を変数に格納するもよし。 // Playground - noun: a place where people can play import UIKit var str = "すもももももも、もも…

Swift 先頭の文字列と末尾の文字列を確認する

ある文字列が、特定の文字列から始まっているかどうかを調べたり、 特定の文字列で終わっているかを調べたい時があります。Swiftでそれを調べるためには、hasPrefix関数と、hasSuffix関数を使います。以下のように調べればOKです。 // Playground - noun: a …

Swift 文字列の連結 数値型の変数を文字列内で使用する

Swiftで文字列を結合するには、「+」を使えばいい。 import UIKit var str = "Hello, playground" var str2 = "Good bye, Objective-C" var appendStr = str + str2 print(appendStr) //Hello, playgroundGood bye, Objective-C Swiftでは、数値型の変数を[+…

Swiftで関数を定義して呼び出してみる。

引数なしの関数の書き方 /* 引数なしの関数 */ func sayHello() { println("All you need is love") } sayHello() //All you need is love値を返さない関数の書き方 /* 値を返さない関数 */ func sayHello(message: String, name: String) { println("Hello!…