Swift,Objective-Cプログラミング ~ iOS ~

Objective-C,Swift,Apple Watchなどのプログラミング

【iOS Swift入門 #287】関数・メソッドのパラメータにvarを指定できないように変更 [Swift3.0]

関数・メソッドのパラメータにvarを指定できないように変更

Swift3.0以前にこれができることを知らなかった。
変更された理由はvarとinoutが混同してしまうことがあるから。

変更前(Swift3.0からはエラーになる)

import UIKit

// 関数・メソッド内で変更できるが、呼び出し元は変更されない
func sayHello(var name:String){
    name = name + "さん、こんにちは"
    print(name)
}

sayHello(name:"田中")  // 田中さん、こんにちは

変更後

import UIKit

func sayHello(name:String){
    let greeting = name + "さん、こんにちは"
    print(greeting)
}

sayHello(name:"田中")  // 田中さん、こんにちは

inoutの使い方

import UIKit

// 呼び出し元が変更される
func sayHello(name:inout String){
    name = name + "さん、こんにちは"
    print(name)
}

var name = "田中"
sayHello(name:&name)  // 田中さん、こんにちは
print(name)  // 田中さん、こんにちは


参考情報

Swift

iOSアプリ開発未経験の人向け
・Swift初心者の人に評判が良いようですね


・わかりやすくていい、と聞いた本
立ち読みした感じだと【アプリ作成未経験の人向け】

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】


②を終えたくらいの知識の方向け
・アプリ開発独学中に2冊めに購入した書籍
プログラミング知識はなくても、若干理解するのに時間がかかる程度で、
読み進められるわかりやすさがある。

iPhoneアプリ開発塾

iPhoneアプリ開発塾


③中級者、上級者向け

詳解 Swift

詳解 Swift

詳解 Swift 改訂版

詳解 Swift 改訂版