PHP 프로그래머의 Swift 언어 시작
개요
평소에는 PHP 프로그래머로 앞으로 iOS 앱을 개발하고 싶은 사람들을 대상으로 Swift 언어의 기본을 정리한다.
작업 환경
OS X El Capitan 10.11.4
Xcode7.3(2016년 5월 최신 버전, Swift2.2 지원)
Xcode는 App Store 버전일 수 있지만 dmg 버전을 추천합니다(이하 URL에서 다운로드).
https://developer.apple.com/downloads/
참고 자료
여러 버전의 Xcode를 추가하는 방법 및 각 Xcode에 대응하는 Swift 버전 요약
문법 공부
Get started with a playground 클릭
번역 없이 바로 동작을 확인할 수 있습니다.
문장 끝 번호 필요 없어요.
PHPecho 'test';
Swiftprint("test")
문자열은 작은 따옴표를 사용할 수 없기 때문에 이중 따옴표로 쓴다
PHPecho 'test';
Swiftprint("test")
성명 상수
PHP//クラス外定数の場合
define('INDEX_NUMBER', 1);
//クラス内定数の場合
const INDEX_NUMBER = 1;
Swift//let 定数名:型名(IntやStringなど) = 値
let n:Int = 100
let str:String = "hello"
//型名省略可能
let n = 100
let str = "hello"
//出力する場合
print(n) //100
print(str) //hello
변수 선언
PHP//クラス外変数
$a = 1;
//クラス内変数
private $number;
Swift//var 定数名:型名(IntやStringやBoolなど) = 値
var n:Int = 100
var str:String = "hello"
var result:Bool = true
//型名省略可能
var n = 100
var str = "hello"
var result = true
//出力する場合
print(n) //100
print(str) //hello
print(result) //true
포함 변수
PHP$str = 'world';
echo "hello $str"; //hello world
Swift//バックスラッシュ(変数)
var str = "world"
print("hello \(str)") //hello world
증분 및 감량
PHP$n = 0;
$n++; //インクリメント
$n--; //デクリメント
echo $n; //0
Swiftvar n = 0
n += 1 //インクリメント(++演算子はSwift3系から使えなくなるのでこのような書き方になる)
n -= 1 //デクリメント(--演算子はSwift3系から使えなくなるのでこのような書き方になる)
print(n) //0
빈 값과nil
PHP$var = null;
var_dump($var); //NULL
Swiftvar str:String? = nil //型名にクエスチョンマークをつけることでnilの代入が可能となる
print(str) //nil
반복 처리
PHPfor ($i=0; $i<10; $i++) {
echo "test\n";
}
Swift//for 変数 in レンジや配列や辞書
for i in 1...10 {
print("test \(i)")
}
//for 変数を使わない場合はアンダースコア in レンジや配列や辞書
for _ in 1...10 {
print("test")
}
수조 상수 및 수조 변수의 성명
PHP$numberArray = array(11,22,33);
$strArray = array("test","hello","world");
Swift//配列定数
let number:[Int] = [11,22,33]
//配列変数
var str:[String] = ["test","hello","world"]
배열 초기화
PHP//配列の初期化
$numberArray = array();
//初期化された配列に値を代入
$numberArray = array(11,22,33);
Swift//配列の初期化
var number = [Int]()
//初期化された配列に値を代入
number = [11,22,33]
배열 요소 추출
PHP$numberArray = array(11,22,33);
foreach ($numberArray as $number) {
echo "$number\n";
}
Swiftvar number:[Int] = [11,22,33]
for i in number {
print(i)
}
사전 상수 및 사전 변수의 성명
PHP$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
Swift//辞書定数
let number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
//辞書変数
var number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
사전 초기화
PHP$numberArray = array();
$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
Swiftvar number = [String:Int]()
number = ["aaa":11,"bbb":22,"ccc":33]
사전 요소 추출
PHP$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
foreach ($numberArray as $str => $number) {
echo "$str $number\n";
}
Swiftvar number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
for (key,value) in number {
print("\(key) \(value)")
}
Swift 패키지 및 확장 옵션
Swiftvar str:String? = "hello" //型名に?をつけてオプショナル型にラップする
print(str) //Optional("hello")
print(str!) //hello 変数の最後に!をつけてアンラップする
Swift 사전 값은 선택 사항입니다.
Swiftvar number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
print(number["aaa"]) //Optional(11)
print(number["aaa"]!) //11 エクスクラメーションをつけてアンラップして取り出す
선택 가능한 수조로 nil의 가능한 데이터를 저장합니다. (또한 사전에서 nil의 값은 무시되기 때문에 저장할 수 없습니다.)
Swiftvar array:[String?] = ["hello",nil,"world"]
for i in array {
print(i)
}
//Optional("hello")
//nil
//Optional("world")
정수 변환
Swiftlet str = "123" //String型
let n = Int(str) //失敗した場合はnilが返却される(型名?は省略可能)
print(n) //Optional(123) 失敗した場合nil返却なのでオプショナル型が返却される
print(n!) //123
옵션 귀속(optional형nil 판정)
Swiftvar array:[String?] = ["123",nil,"789"]
for data in array {
if let d = data { //nilならfalse、nilではないならアンラップされた値を代入
print(d.dynamicType) //String アンラップされていることがわかる
print("\(Int(d)!) \(Int(d)!.dynamicType)") //123 Int,789 Int
} else {
//nilのときの処理
}
}
메타그룹(여러 가지 유형의 값을 한데 묶음)
Swiftvar tp = (name:"Kentaro Yamada", age:20)
print(tp.name)
print(tp.age)
enum (때때로 마술 번호를 방지하기 위해 enum을 사용)
Swiftenum OS:String {
case Windows = "Windows"
case iOS = "iOS"
case Android = "Android"
}
print(OS.Windows) //OS.Windowsの処理を書く(enumはSwitch分岐との相性が良い)
print(OS.Windows.rawValue) //デフォルトの値を持たせることができる
함수
Swift//戻り値なし
func hello(str:String) {
print(str)
}
hello("hello") //hello
//戻り値あり
func world(str:String) -> String {
return str
}
var str = world("world")
print(str) //world
//複数の戻り値
func helloWorld(name:String) -> (name:String, age:Int) {
let age = 12
return (name,age)
}
var ret = helloWorld("Kentaro Yamada")
print(ret.name) //Kentaro Yamada
print(ret.age) //12
//複数の引数
func helloWorld2(name:String, age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2("Kentaro Yamada",age:12) //第2引数には引数名をつける必要有
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
//複数の引数(外部名あり)
func helloWorld2(n name:String,a age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2(n:"Kentaro Yamada", a:12)
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
기본 엔클로저
Swiftfunc fc(n:Int) -> Int {
return n * 2
}
func clsr(f:(Int)->Int, n:Int) {
print(f(n))
}
clsr(fc,n:10) //20
기본 클래스
Swiftclass MyData {
var name:String = ""
func hello(){
print("hello \(name)")
}
}
var obj = MyData()
obj.name = "Kentaro Yamada"
obj.hello() //hello Kentaro Yamada
편의점 초기화기
Swiftclass Test {
var name:String = ""
var age:Int = 0
//指定イニシャライザ
init(name:String, age:Int) {
self.name = name
self.age = age
}
convenience init () {
self.init(name:"noname", age:0)
}
convenience init (name:String) {
self.init(name:name, age:0)
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
var test2 = Test(name:"Kentaro Yamada")
test2.hello() //Kentaro Yamada 0
var test3 = Test()
test3.hello() //noname 0
계산된 속성
Swift
class Test {
private var name:String = ""
private var age:Int = 0
//Computedプロパティ
var getName:String {
get {
return self.name
}
set {
self.name = newValue
}
}
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
print(test.getName) //Kentaro Yamada
test.getName = "aaa"
print(test.getName) //aaa
속성 관찰기
Swiftclass Test {
//プロパティオブザーバー(書き換えの前後を監視する)
var name:String = "" {
willSet(name){
print("willSet \(name)")
}
didSet {
print("didSet \(name)")
}
}
var age:Int = 0
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
test.name = "hello"
print(test.name) //hello
test.hello() //hello 20
Reference
이 문제에 관하여(PHP 프로그래머의 Swift 언어 시작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kentyama/items/c650a4aba1501e7f8010
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
OS X El Capitan 10.11.4
Xcode7.3(2016년 5월 최신 버전, Swift2.2 지원)
Xcode는 App Store 버전일 수 있지만 dmg 버전을 추천합니다(이하 URL에서 다운로드).
https://developer.apple.com/downloads/
참고 자료
여러 버전의 Xcode를 추가하는 방법 및 각 Xcode에 대응하는 Swift 버전 요약
문법 공부
Get started with a playground 클릭
번역 없이 바로 동작을 확인할 수 있습니다.
문장 끝 번호 필요 없어요.
PHPecho 'test';
Swiftprint("test")
문자열은 작은 따옴표를 사용할 수 없기 때문에 이중 따옴표로 쓴다
PHPecho 'test';
Swiftprint("test")
성명 상수
PHP//クラス外定数の場合
define('INDEX_NUMBER', 1);
//クラス内定数の場合
const INDEX_NUMBER = 1;
Swift//let 定数名:型名(IntやStringなど) = 値
let n:Int = 100
let str:String = "hello"
//型名省略可能
let n = 100
let str = "hello"
//出力する場合
print(n) //100
print(str) //hello
변수 선언
PHP//クラス外変数
$a = 1;
//クラス内変数
private $number;
Swift//var 定数名:型名(IntやStringやBoolなど) = 値
var n:Int = 100
var str:String = "hello"
var result:Bool = true
//型名省略可能
var n = 100
var str = "hello"
var result = true
//出力する場合
print(n) //100
print(str) //hello
print(result) //true
포함 변수
PHP$str = 'world';
echo "hello $str"; //hello world
Swift//バックスラッシュ(変数)
var str = "world"
print("hello \(str)") //hello world
증분 및 감량
PHP$n = 0;
$n++; //インクリメント
$n--; //デクリメント
echo $n; //0
Swiftvar n = 0
n += 1 //インクリメント(++演算子はSwift3系から使えなくなるのでこのような書き方になる)
n -= 1 //デクリメント(--演算子はSwift3系から使えなくなるのでこのような書き方になる)
print(n) //0
빈 값과nil
PHP$var = null;
var_dump($var); //NULL
Swiftvar str:String? = nil //型名にクエスチョンマークをつけることでnilの代入が可能となる
print(str) //nil
반복 처리
PHPfor ($i=0; $i<10; $i++) {
echo "test\n";
}
Swift//for 変数 in レンジや配列や辞書
for i in 1...10 {
print("test \(i)")
}
//for 変数を使わない場合はアンダースコア in レンジや配列や辞書
for _ in 1...10 {
print("test")
}
수조 상수 및 수조 변수의 성명
PHP$numberArray = array(11,22,33);
$strArray = array("test","hello","world");
Swift//配列定数
let number:[Int] = [11,22,33]
//配列変数
var str:[String] = ["test","hello","world"]
배열 초기화
PHP//配列の初期化
$numberArray = array();
//初期化された配列に値を代入
$numberArray = array(11,22,33);
Swift//配列の初期化
var number = [Int]()
//初期化された配列に値を代入
number = [11,22,33]
배열 요소 추출
PHP$numberArray = array(11,22,33);
foreach ($numberArray as $number) {
echo "$number\n";
}
Swiftvar number:[Int] = [11,22,33]
for i in number {
print(i)
}
사전 상수 및 사전 변수의 성명
PHP$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
Swift//辞書定数
let number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
//辞書変数
var number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
사전 초기화
PHP$numberArray = array();
$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
Swiftvar number = [String:Int]()
number = ["aaa":11,"bbb":22,"ccc":33]
사전 요소 추출
PHP$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
foreach ($numberArray as $str => $number) {
echo "$str $number\n";
}
Swiftvar number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
for (key,value) in number {
print("\(key) \(value)")
}
Swift 패키지 및 확장 옵션
Swiftvar str:String? = "hello" //型名に?をつけてオプショナル型にラップする
print(str) //Optional("hello")
print(str!) //hello 変数の最後に!をつけてアンラップする
Swift 사전 값은 선택 사항입니다.
Swiftvar number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
print(number["aaa"]) //Optional(11)
print(number["aaa"]!) //11 エクスクラメーションをつけてアンラップして取り出す
선택 가능한 수조로 nil의 가능한 데이터를 저장합니다. (또한 사전에서 nil의 값은 무시되기 때문에 저장할 수 없습니다.)
Swiftvar array:[String?] = ["hello",nil,"world"]
for i in array {
print(i)
}
//Optional("hello")
//nil
//Optional("world")
정수 변환
Swiftlet str = "123" //String型
let n = Int(str) //失敗した場合はnilが返却される(型名?は省略可能)
print(n) //Optional(123) 失敗した場合nil返却なのでオプショナル型が返却される
print(n!) //123
옵션 귀속(optional형nil 판정)
Swiftvar array:[String?] = ["123",nil,"789"]
for data in array {
if let d = data { //nilならfalse、nilではないならアンラップされた値を代入
print(d.dynamicType) //String アンラップされていることがわかる
print("\(Int(d)!) \(Int(d)!.dynamicType)") //123 Int,789 Int
} else {
//nilのときの処理
}
}
메타그룹(여러 가지 유형의 값을 한데 묶음)
Swiftvar tp = (name:"Kentaro Yamada", age:20)
print(tp.name)
print(tp.age)
enum (때때로 마술 번호를 방지하기 위해 enum을 사용)
Swiftenum OS:String {
case Windows = "Windows"
case iOS = "iOS"
case Android = "Android"
}
print(OS.Windows) //OS.Windowsの処理を書く(enumはSwitch分岐との相性が良い)
print(OS.Windows.rawValue) //デフォルトの値を持たせることができる
함수
Swift//戻り値なし
func hello(str:String) {
print(str)
}
hello("hello") //hello
//戻り値あり
func world(str:String) -> String {
return str
}
var str = world("world")
print(str) //world
//複数の戻り値
func helloWorld(name:String) -> (name:String, age:Int) {
let age = 12
return (name,age)
}
var ret = helloWorld("Kentaro Yamada")
print(ret.name) //Kentaro Yamada
print(ret.age) //12
//複数の引数
func helloWorld2(name:String, age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2("Kentaro Yamada",age:12) //第2引数には引数名をつける必要有
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
//複数の引数(外部名あり)
func helloWorld2(n name:String,a age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2(n:"Kentaro Yamada", a:12)
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
기본 엔클로저
Swiftfunc fc(n:Int) -> Int {
return n * 2
}
func clsr(f:(Int)->Int, n:Int) {
print(f(n))
}
clsr(fc,n:10) //20
기본 클래스
Swiftclass MyData {
var name:String = ""
func hello(){
print("hello \(name)")
}
}
var obj = MyData()
obj.name = "Kentaro Yamada"
obj.hello() //hello Kentaro Yamada
편의점 초기화기
Swiftclass Test {
var name:String = ""
var age:Int = 0
//指定イニシャライザ
init(name:String, age:Int) {
self.name = name
self.age = age
}
convenience init () {
self.init(name:"noname", age:0)
}
convenience init (name:String) {
self.init(name:name, age:0)
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
var test2 = Test(name:"Kentaro Yamada")
test2.hello() //Kentaro Yamada 0
var test3 = Test()
test3.hello() //noname 0
계산된 속성
Swift
class Test {
private var name:String = ""
private var age:Int = 0
//Computedプロパティ
var getName:String {
get {
return self.name
}
set {
self.name = newValue
}
}
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
print(test.getName) //Kentaro Yamada
test.getName = "aaa"
print(test.getName) //aaa
속성 관찰기
Swiftclass Test {
//プロパティオブザーバー(書き換えの前後を監視する)
var name:String = "" {
willSet(name){
print("willSet \(name)")
}
didSet {
print("didSet \(name)")
}
}
var age:Int = 0
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
test.name = "hello"
print(test.name) //hello
test.hello() //hello 20
Reference
이 문제에 관하여(PHP 프로그래머의 Swift 언어 시작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kentyama/items/c650a4aba1501e7f8010
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
PHP
echo 'test';
Swiftprint("test")
문자열은 작은 따옴표를 사용할 수 없기 때문에 이중 따옴표로 쓴다
PHPecho 'test';
Swiftprint("test")
성명 상수
PHP//クラス外定数の場合
define('INDEX_NUMBER', 1);
//クラス内定数の場合
const INDEX_NUMBER = 1;
Swift//let 定数名:型名(IntやStringなど) = 値
let n:Int = 100
let str:String = "hello"
//型名省略可能
let n = 100
let str = "hello"
//出力する場合
print(n) //100
print(str) //hello
변수 선언
PHP//クラス外変数
$a = 1;
//クラス内変数
private $number;
Swift//var 定数名:型名(IntやStringやBoolなど) = 値
var n:Int = 100
var str:String = "hello"
var result:Bool = true
//型名省略可能
var n = 100
var str = "hello"
var result = true
//出力する場合
print(n) //100
print(str) //hello
print(result) //true
포함 변수
PHP$str = 'world';
echo "hello $str"; //hello world
Swift//バックスラッシュ(変数)
var str = "world"
print("hello \(str)") //hello world
증분 및 감량
PHP$n = 0;
$n++; //インクリメント
$n--; //デクリメント
echo $n; //0
Swiftvar n = 0
n += 1 //インクリメント(++演算子はSwift3系から使えなくなるのでこのような書き方になる)
n -= 1 //デクリメント(--演算子はSwift3系から使えなくなるのでこのような書き方になる)
print(n) //0
빈 값과nil
PHP$var = null;
var_dump($var); //NULL
Swiftvar str:String? = nil //型名にクエスチョンマークをつけることでnilの代入が可能となる
print(str) //nil
반복 처리
PHPfor ($i=0; $i<10; $i++) {
echo "test\n";
}
Swift//for 変数 in レンジや配列や辞書
for i in 1...10 {
print("test \(i)")
}
//for 変数を使わない場合はアンダースコア in レンジや配列や辞書
for _ in 1...10 {
print("test")
}
수조 상수 및 수조 변수의 성명
PHP$numberArray = array(11,22,33);
$strArray = array("test","hello","world");
Swift//配列定数
let number:[Int] = [11,22,33]
//配列変数
var str:[String] = ["test","hello","world"]
배열 초기화
PHP//配列の初期化
$numberArray = array();
//初期化された配列に値を代入
$numberArray = array(11,22,33);
Swift//配列の初期化
var number = [Int]()
//初期化された配列に値を代入
number = [11,22,33]
배열 요소 추출
PHP$numberArray = array(11,22,33);
foreach ($numberArray as $number) {
echo "$number\n";
}
Swiftvar number:[Int] = [11,22,33]
for i in number {
print(i)
}
사전 상수 및 사전 변수의 성명
PHP$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
Swift//辞書定数
let number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
//辞書変数
var number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
사전 초기화
PHP$numberArray = array();
$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
Swiftvar number = [String:Int]()
number = ["aaa":11,"bbb":22,"ccc":33]
사전 요소 추출
PHP$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
foreach ($numberArray as $str => $number) {
echo "$str $number\n";
}
Swiftvar number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
for (key,value) in number {
print("\(key) \(value)")
}
Swift 패키지 및 확장 옵션
Swiftvar str:String? = "hello" //型名に?をつけてオプショナル型にラップする
print(str) //Optional("hello")
print(str!) //hello 変数の最後に!をつけてアンラップする
Swift 사전 값은 선택 사항입니다.
Swiftvar number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
print(number["aaa"]) //Optional(11)
print(number["aaa"]!) //11 エクスクラメーションをつけてアンラップして取り出す
선택 가능한 수조로 nil의 가능한 데이터를 저장합니다. (또한 사전에서 nil의 값은 무시되기 때문에 저장할 수 없습니다.)
Swiftvar array:[String?] = ["hello",nil,"world"]
for i in array {
print(i)
}
//Optional("hello")
//nil
//Optional("world")
정수 변환
Swiftlet str = "123" //String型
let n = Int(str) //失敗した場合はnilが返却される(型名?は省略可能)
print(n) //Optional(123) 失敗した場合nil返却なのでオプショナル型が返却される
print(n!) //123
옵션 귀속(optional형nil 판정)
Swiftvar array:[String?] = ["123",nil,"789"]
for data in array {
if let d = data { //nilならfalse、nilではないならアンラップされた値を代入
print(d.dynamicType) //String アンラップされていることがわかる
print("\(Int(d)!) \(Int(d)!.dynamicType)") //123 Int,789 Int
} else {
//nilのときの処理
}
}
메타그룹(여러 가지 유형의 값을 한데 묶음)
Swiftvar tp = (name:"Kentaro Yamada", age:20)
print(tp.name)
print(tp.age)
enum (때때로 마술 번호를 방지하기 위해 enum을 사용)
Swiftenum OS:String {
case Windows = "Windows"
case iOS = "iOS"
case Android = "Android"
}
print(OS.Windows) //OS.Windowsの処理を書く(enumはSwitch分岐との相性が良い)
print(OS.Windows.rawValue) //デフォルトの値を持たせることができる
함수
Swift//戻り値なし
func hello(str:String) {
print(str)
}
hello("hello") //hello
//戻り値あり
func world(str:String) -> String {
return str
}
var str = world("world")
print(str) //world
//複数の戻り値
func helloWorld(name:String) -> (name:String, age:Int) {
let age = 12
return (name,age)
}
var ret = helloWorld("Kentaro Yamada")
print(ret.name) //Kentaro Yamada
print(ret.age) //12
//複数の引数
func helloWorld2(name:String, age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2("Kentaro Yamada",age:12) //第2引数には引数名をつける必要有
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
//複数の引数(外部名あり)
func helloWorld2(n name:String,a age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2(n:"Kentaro Yamada", a:12)
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
기본 엔클로저
Swiftfunc fc(n:Int) -> Int {
return n * 2
}
func clsr(f:(Int)->Int, n:Int) {
print(f(n))
}
clsr(fc,n:10) //20
기본 클래스
Swiftclass MyData {
var name:String = ""
func hello(){
print("hello \(name)")
}
}
var obj = MyData()
obj.name = "Kentaro Yamada"
obj.hello() //hello Kentaro Yamada
편의점 초기화기
Swiftclass Test {
var name:String = ""
var age:Int = 0
//指定イニシャライザ
init(name:String, age:Int) {
self.name = name
self.age = age
}
convenience init () {
self.init(name:"noname", age:0)
}
convenience init (name:String) {
self.init(name:name, age:0)
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
var test2 = Test(name:"Kentaro Yamada")
test2.hello() //Kentaro Yamada 0
var test3 = Test()
test3.hello() //noname 0
계산된 속성
Swift
class Test {
private var name:String = ""
private var age:Int = 0
//Computedプロパティ
var getName:String {
get {
return self.name
}
set {
self.name = newValue
}
}
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
print(test.getName) //Kentaro Yamada
test.getName = "aaa"
print(test.getName) //aaa
속성 관찰기
Swiftclass Test {
//プロパティオブザーバー(書き換えの前後を監視する)
var name:String = "" {
willSet(name){
print("willSet \(name)")
}
didSet {
print("didSet \(name)")
}
}
var age:Int = 0
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
test.name = "hello"
print(test.name) //hello
test.hello() //hello 20
Reference
이 문제에 관하여(PHP 프로그래머의 Swift 언어 시작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kentyama/items/c650a4aba1501e7f8010
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
echo 'test';
print("test")
PHP
//クラス外定数の場合
define('INDEX_NUMBER', 1);
//クラス内定数の場合
const INDEX_NUMBER = 1;
Swift//let 定数名:型名(IntやStringなど) = 値
let n:Int = 100
let str:String = "hello"
//型名省略可能
let n = 100
let str = "hello"
//出力する場合
print(n) //100
print(str) //hello
변수 선언
PHP//クラス外変数
$a = 1;
//クラス内変数
private $number;
Swift//var 定数名:型名(IntやStringやBoolなど) = 値
var n:Int = 100
var str:String = "hello"
var result:Bool = true
//型名省略可能
var n = 100
var str = "hello"
var result = true
//出力する場合
print(n) //100
print(str) //hello
print(result) //true
포함 변수
PHP$str = 'world';
echo "hello $str"; //hello world
Swift//バックスラッシュ(変数)
var str = "world"
print("hello \(str)") //hello world
증분 및 감량
PHP$n = 0;
$n++; //インクリメント
$n--; //デクリメント
echo $n; //0
Swiftvar n = 0
n += 1 //インクリメント(++演算子はSwift3系から使えなくなるのでこのような書き方になる)
n -= 1 //デクリメント(--演算子はSwift3系から使えなくなるのでこのような書き方になる)
print(n) //0
빈 값과nil
PHP$var = null;
var_dump($var); //NULL
Swiftvar str:String? = nil //型名にクエスチョンマークをつけることでnilの代入が可能となる
print(str) //nil
반복 처리
PHPfor ($i=0; $i<10; $i++) {
echo "test\n";
}
Swift//for 変数 in レンジや配列や辞書
for i in 1...10 {
print("test \(i)")
}
//for 変数を使わない場合はアンダースコア in レンジや配列や辞書
for _ in 1...10 {
print("test")
}
수조 상수 및 수조 변수의 성명
PHP$numberArray = array(11,22,33);
$strArray = array("test","hello","world");
Swift//配列定数
let number:[Int] = [11,22,33]
//配列変数
var str:[String] = ["test","hello","world"]
배열 초기화
PHP//配列の初期化
$numberArray = array();
//初期化された配列に値を代入
$numberArray = array(11,22,33);
Swift//配列の初期化
var number = [Int]()
//初期化された配列に値を代入
number = [11,22,33]
배열 요소 추출
PHP$numberArray = array(11,22,33);
foreach ($numberArray as $number) {
echo "$number\n";
}
Swiftvar number:[Int] = [11,22,33]
for i in number {
print(i)
}
사전 상수 및 사전 변수의 성명
PHP$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
Swift//辞書定数
let number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
//辞書変数
var number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
사전 초기화
PHP$numberArray = array();
$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
Swiftvar number = [String:Int]()
number = ["aaa":11,"bbb":22,"ccc":33]
사전 요소 추출
PHP$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
foreach ($numberArray as $str => $number) {
echo "$str $number\n";
}
Swiftvar number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
for (key,value) in number {
print("\(key) \(value)")
}
Swift 패키지 및 확장 옵션
Swiftvar str:String? = "hello" //型名に?をつけてオプショナル型にラップする
print(str) //Optional("hello")
print(str!) //hello 変数の最後に!をつけてアンラップする
Swift 사전 값은 선택 사항입니다.
Swiftvar number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
print(number["aaa"]) //Optional(11)
print(number["aaa"]!) //11 エクスクラメーションをつけてアンラップして取り出す
선택 가능한 수조로 nil의 가능한 데이터를 저장합니다. (또한 사전에서 nil의 값은 무시되기 때문에 저장할 수 없습니다.)
Swiftvar array:[String?] = ["hello",nil,"world"]
for i in array {
print(i)
}
//Optional("hello")
//nil
//Optional("world")
정수 변환
Swiftlet str = "123" //String型
let n = Int(str) //失敗した場合はnilが返却される(型名?は省略可能)
print(n) //Optional(123) 失敗した場合nil返却なのでオプショナル型が返却される
print(n!) //123
옵션 귀속(optional형nil 판정)
Swiftvar array:[String?] = ["123",nil,"789"]
for data in array {
if let d = data { //nilならfalse、nilではないならアンラップされた値を代入
print(d.dynamicType) //String アンラップされていることがわかる
print("\(Int(d)!) \(Int(d)!.dynamicType)") //123 Int,789 Int
} else {
//nilのときの処理
}
}
메타그룹(여러 가지 유형의 값을 한데 묶음)
Swiftvar tp = (name:"Kentaro Yamada", age:20)
print(tp.name)
print(tp.age)
enum (때때로 마술 번호를 방지하기 위해 enum을 사용)
Swiftenum OS:String {
case Windows = "Windows"
case iOS = "iOS"
case Android = "Android"
}
print(OS.Windows) //OS.Windowsの処理を書く(enumはSwitch分岐との相性が良い)
print(OS.Windows.rawValue) //デフォルトの値を持たせることができる
함수
Swift//戻り値なし
func hello(str:String) {
print(str)
}
hello("hello") //hello
//戻り値あり
func world(str:String) -> String {
return str
}
var str = world("world")
print(str) //world
//複数の戻り値
func helloWorld(name:String) -> (name:String, age:Int) {
let age = 12
return (name,age)
}
var ret = helloWorld("Kentaro Yamada")
print(ret.name) //Kentaro Yamada
print(ret.age) //12
//複数の引数
func helloWorld2(name:String, age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2("Kentaro Yamada",age:12) //第2引数には引数名をつける必要有
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
//複数の引数(外部名あり)
func helloWorld2(n name:String,a age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2(n:"Kentaro Yamada", a:12)
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
기본 엔클로저
Swiftfunc fc(n:Int) -> Int {
return n * 2
}
func clsr(f:(Int)->Int, n:Int) {
print(f(n))
}
clsr(fc,n:10) //20
기본 클래스
Swiftclass MyData {
var name:String = ""
func hello(){
print("hello \(name)")
}
}
var obj = MyData()
obj.name = "Kentaro Yamada"
obj.hello() //hello Kentaro Yamada
편의점 초기화기
Swiftclass Test {
var name:String = ""
var age:Int = 0
//指定イニシャライザ
init(name:String, age:Int) {
self.name = name
self.age = age
}
convenience init () {
self.init(name:"noname", age:0)
}
convenience init (name:String) {
self.init(name:name, age:0)
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
var test2 = Test(name:"Kentaro Yamada")
test2.hello() //Kentaro Yamada 0
var test3 = Test()
test3.hello() //noname 0
계산된 속성
Swift
class Test {
private var name:String = ""
private var age:Int = 0
//Computedプロパティ
var getName:String {
get {
return self.name
}
set {
self.name = newValue
}
}
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
print(test.getName) //Kentaro Yamada
test.getName = "aaa"
print(test.getName) //aaa
속성 관찰기
Swiftclass Test {
//プロパティオブザーバー(書き換えの前後を監視する)
var name:String = "" {
willSet(name){
print("willSet \(name)")
}
didSet {
print("didSet \(name)")
}
}
var age:Int = 0
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
test.name = "hello"
print(test.name) //hello
test.hello() //hello 20
Reference
이 문제에 관하여(PHP 프로그래머의 Swift 언어 시작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kentyama/items/c650a4aba1501e7f8010
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
//クラス外変数
$a = 1;
//クラス内変数
private $number;
//var 定数名:型名(IntやStringやBoolなど) = 値
var n:Int = 100
var str:String = "hello"
var result:Bool = true
//型名省略可能
var n = 100
var str = "hello"
var result = true
//出力する場合
print(n) //100
print(str) //hello
print(result) //true
PHP
$str = 'world';
echo "hello $str"; //hello world
Swift//バックスラッシュ(変数)
var str = "world"
print("hello \(str)") //hello world
증분 및 감량
PHP$n = 0;
$n++; //インクリメント
$n--; //デクリメント
echo $n; //0
Swiftvar n = 0
n += 1 //インクリメント(++演算子はSwift3系から使えなくなるのでこのような書き方になる)
n -= 1 //デクリメント(--演算子はSwift3系から使えなくなるのでこのような書き方になる)
print(n) //0
빈 값과nil
PHP$var = null;
var_dump($var); //NULL
Swiftvar str:String? = nil //型名にクエスチョンマークをつけることでnilの代入が可能となる
print(str) //nil
반복 처리
PHPfor ($i=0; $i<10; $i++) {
echo "test\n";
}
Swift//for 変数 in レンジや配列や辞書
for i in 1...10 {
print("test \(i)")
}
//for 変数を使わない場合はアンダースコア in レンジや配列や辞書
for _ in 1...10 {
print("test")
}
수조 상수 및 수조 변수의 성명
PHP$numberArray = array(11,22,33);
$strArray = array("test","hello","world");
Swift//配列定数
let number:[Int] = [11,22,33]
//配列変数
var str:[String] = ["test","hello","world"]
배열 초기화
PHP//配列の初期化
$numberArray = array();
//初期化された配列に値を代入
$numberArray = array(11,22,33);
Swift//配列の初期化
var number = [Int]()
//初期化された配列に値を代入
number = [11,22,33]
배열 요소 추출
PHP$numberArray = array(11,22,33);
foreach ($numberArray as $number) {
echo "$number\n";
}
Swiftvar number:[Int] = [11,22,33]
for i in number {
print(i)
}
사전 상수 및 사전 변수의 성명
PHP$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
Swift//辞書定数
let number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
//辞書変数
var number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
사전 초기화
PHP$numberArray = array();
$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
Swiftvar number = [String:Int]()
number = ["aaa":11,"bbb":22,"ccc":33]
사전 요소 추출
PHP$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
foreach ($numberArray as $str => $number) {
echo "$str $number\n";
}
Swiftvar number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
for (key,value) in number {
print("\(key) \(value)")
}
Swift 패키지 및 확장 옵션
Swiftvar str:String? = "hello" //型名に?をつけてオプショナル型にラップする
print(str) //Optional("hello")
print(str!) //hello 変数の最後に!をつけてアンラップする
Swift 사전 값은 선택 사항입니다.
Swiftvar number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
print(number["aaa"]) //Optional(11)
print(number["aaa"]!) //11 エクスクラメーションをつけてアンラップして取り出す
선택 가능한 수조로 nil의 가능한 데이터를 저장합니다. (또한 사전에서 nil의 값은 무시되기 때문에 저장할 수 없습니다.)
Swiftvar array:[String?] = ["hello",nil,"world"]
for i in array {
print(i)
}
//Optional("hello")
//nil
//Optional("world")
정수 변환
Swiftlet str = "123" //String型
let n = Int(str) //失敗した場合はnilが返却される(型名?は省略可能)
print(n) //Optional(123) 失敗した場合nil返却なのでオプショナル型が返却される
print(n!) //123
옵션 귀속(optional형nil 판정)
Swiftvar array:[String?] = ["123",nil,"789"]
for data in array {
if let d = data { //nilならfalse、nilではないならアンラップされた値を代入
print(d.dynamicType) //String アンラップされていることがわかる
print("\(Int(d)!) \(Int(d)!.dynamicType)") //123 Int,789 Int
} else {
//nilのときの処理
}
}
메타그룹(여러 가지 유형의 값을 한데 묶음)
Swiftvar tp = (name:"Kentaro Yamada", age:20)
print(tp.name)
print(tp.age)
enum (때때로 마술 번호를 방지하기 위해 enum을 사용)
Swiftenum OS:String {
case Windows = "Windows"
case iOS = "iOS"
case Android = "Android"
}
print(OS.Windows) //OS.Windowsの処理を書く(enumはSwitch分岐との相性が良い)
print(OS.Windows.rawValue) //デフォルトの値を持たせることができる
함수
Swift//戻り値なし
func hello(str:String) {
print(str)
}
hello("hello") //hello
//戻り値あり
func world(str:String) -> String {
return str
}
var str = world("world")
print(str) //world
//複数の戻り値
func helloWorld(name:String) -> (name:String, age:Int) {
let age = 12
return (name,age)
}
var ret = helloWorld("Kentaro Yamada")
print(ret.name) //Kentaro Yamada
print(ret.age) //12
//複数の引数
func helloWorld2(name:String, age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2("Kentaro Yamada",age:12) //第2引数には引数名をつける必要有
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
//複数の引数(外部名あり)
func helloWorld2(n name:String,a age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2(n:"Kentaro Yamada", a:12)
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
기본 엔클로저
Swiftfunc fc(n:Int) -> Int {
return n * 2
}
func clsr(f:(Int)->Int, n:Int) {
print(f(n))
}
clsr(fc,n:10) //20
기본 클래스
Swiftclass MyData {
var name:String = ""
func hello(){
print("hello \(name)")
}
}
var obj = MyData()
obj.name = "Kentaro Yamada"
obj.hello() //hello Kentaro Yamada
편의점 초기화기
Swiftclass Test {
var name:String = ""
var age:Int = 0
//指定イニシャライザ
init(name:String, age:Int) {
self.name = name
self.age = age
}
convenience init () {
self.init(name:"noname", age:0)
}
convenience init (name:String) {
self.init(name:name, age:0)
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
var test2 = Test(name:"Kentaro Yamada")
test2.hello() //Kentaro Yamada 0
var test3 = Test()
test3.hello() //noname 0
계산된 속성
Swift
class Test {
private var name:String = ""
private var age:Int = 0
//Computedプロパティ
var getName:String {
get {
return self.name
}
set {
self.name = newValue
}
}
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
print(test.getName) //Kentaro Yamada
test.getName = "aaa"
print(test.getName) //aaa
속성 관찰기
Swiftclass Test {
//プロパティオブザーバー(書き換えの前後を監視する)
var name:String = "" {
willSet(name){
print("willSet \(name)")
}
didSet {
print("didSet \(name)")
}
}
var age:Int = 0
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
test.name = "hello"
print(test.name) //hello
test.hello() //hello 20
Reference
이 문제에 관하여(PHP 프로그래머의 Swift 언어 시작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kentyama/items/c650a4aba1501e7f8010
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$n = 0;
$n++; //インクリメント
$n--; //デクリメント
echo $n; //0
var n = 0
n += 1 //インクリメント(++演算子はSwift3系から使えなくなるのでこのような書き方になる)
n -= 1 //デクリメント(--演算子はSwift3系から使えなくなるのでこのような書き方になる)
print(n) //0
PHP
$var = null;
var_dump($var); //NULL
Swiftvar str:String? = nil //型名にクエスチョンマークをつけることでnilの代入が可能となる
print(str) //nil
반복 처리
PHPfor ($i=0; $i<10; $i++) {
echo "test\n";
}
Swift//for 変数 in レンジや配列や辞書
for i in 1...10 {
print("test \(i)")
}
//for 変数を使わない場合はアンダースコア in レンジや配列や辞書
for _ in 1...10 {
print("test")
}
수조 상수 및 수조 변수의 성명
PHP$numberArray = array(11,22,33);
$strArray = array("test","hello","world");
Swift//配列定数
let number:[Int] = [11,22,33]
//配列変数
var str:[String] = ["test","hello","world"]
배열 초기화
PHP//配列の初期化
$numberArray = array();
//初期化された配列に値を代入
$numberArray = array(11,22,33);
Swift//配列の初期化
var number = [Int]()
//初期化された配列に値を代入
number = [11,22,33]
배열 요소 추출
PHP$numberArray = array(11,22,33);
foreach ($numberArray as $number) {
echo "$number\n";
}
Swiftvar number:[Int] = [11,22,33]
for i in number {
print(i)
}
사전 상수 및 사전 변수의 성명
PHP$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
Swift//辞書定数
let number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
//辞書変数
var number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
사전 초기화
PHP$numberArray = array();
$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
Swiftvar number = [String:Int]()
number = ["aaa":11,"bbb":22,"ccc":33]
사전 요소 추출
PHP$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
foreach ($numberArray as $str => $number) {
echo "$str $number\n";
}
Swiftvar number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
for (key,value) in number {
print("\(key) \(value)")
}
Swift 패키지 및 확장 옵션
Swiftvar str:String? = "hello" //型名に?をつけてオプショナル型にラップする
print(str) //Optional("hello")
print(str!) //hello 変数の最後に!をつけてアンラップする
Swift 사전 값은 선택 사항입니다.
Swiftvar number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
print(number["aaa"]) //Optional(11)
print(number["aaa"]!) //11 エクスクラメーションをつけてアンラップして取り出す
선택 가능한 수조로 nil의 가능한 데이터를 저장합니다. (또한 사전에서 nil의 값은 무시되기 때문에 저장할 수 없습니다.)
Swiftvar array:[String?] = ["hello",nil,"world"]
for i in array {
print(i)
}
//Optional("hello")
//nil
//Optional("world")
정수 변환
Swiftlet str = "123" //String型
let n = Int(str) //失敗した場合はnilが返却される(型名?は省略可能)
print(n) //Optional(123) 失敗した場合nil返却なのでオプショナル型が返却される
print(n!) //123
옵션 귀속(optional형nil 판정)
Swiftvar array:[String?] = ["123",nil,"789"]
for data in array {
if let d = data { //nilならfalse、nilではないならアンラップされた値を代入
print(d.dynamicType) //String アンラップされていることがわかる
print("\(Int(d)!) \(Int(d)!.dynamicType)") //123 Int,789 Int
} else {
//nilのときの処理
}
}
메타그룹(여러 가지 유형의 값을 한데 묶음)
Swiftvar tp = (name:"Kentaro Yamada", age:20)
print(tp.name)
print(tp.age)
enum (때때로 마술 번호를 방지하기 위해 enum을 사용)
Swiftenum OS:String {
case Windows = "Windows"
case iOS = "iOS"
case Android = "Android"
}
print(OS.Windows) //OS.Windowsの処理を書く(enumはSwitch分岐との相性が良い)
print(OS.Windows.rawValue) //デフォルトの値を持たせることができる
함수
Swift//戻り値なし
func hello(str:String) {
print(str)
}
hello("hello") //hello
//戻り値あり
func world(str:String) -> String {
return str
}
var str = world("world")
print(str) //world
//複数の戻り値
func helloWorld(name:String) -> (name:String, age:Int) {
let age = 12
return (name,age)
}
var ret = helloWorld("Kentaro Yamada")
print(ret.name) //Kentaro Yamada
print(ret.age) //12
//複数の引数
func helloWorld2(name:String, age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2("Kentaro Yamada",age:12) //第2引数には引数名をつける必要有
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
//複数の引数(外部名あり)
func helloWorld2(n name:String,a age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2(n:"Kentaro Yamada", a:12)
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
기본 엔클로저
Swiftfunc fc(n:Int) -> Int {
return n * 2
}
func clsr(f:(Int)->Int, n:Int) {
print(f(n))
}
clsr(fc,n:10) //20
기본 클래스
Swiftclass MyData {
var name:String = ""
func hello(){
print("hello \(name)")
}
}
var obj = MyData()
obj.name = "Kentaro Yamada"
obj.hello() //hello Kentaro Yamada
편의점 초기화기
Swiftclass Test {
var name:String = ""
var age:Int = 0
//指定イニシャライザ
init(name:String, age:Int) {
self.name = name
self.age = age
}
convenience init () {
self.init(name:"noname", age:0)
}
convenience init (name:String) {
self.init(name:name, age:0)
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
var test2 = Test(name:"Kentaro Yamada")
test2.hello() //Kentaro Yamada 0
var test3 = Test()
test3.hello() //noname 0
계산된 속성
Swift
class Test {
private var name:String = ""
private var age:Int = 0
//Computedプロパティ
var getName:String {
get {
return self.name
}
set {
self.name = newValue
}
}
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
print(test.getName) //Kentaro Yamada
test.getName = "aaa"
print(test.getName) //aaa
속성 관찰기
Swiftclass Test {
//プロパティオブザーバー(書き換えの前後を監視する)
var name:String = "" {
willSet(name){
print("willSet \(name)")
}
didSet {
print("didSet \(name)")
}
}
var age:Int = 0
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
test.name = "hello"
print(test.name) //hello
test.hello() //hello 20
Reference
이 문제에 관하여(PHP 프로그래머의 Swift 언어 시작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kentyama/items/c650a4aba1501e7f8010
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
for ($i=0; $i<10; $i++) {
echo "test\n";
}
//for 変数 in レンジや配列や辞書
for i in 1...10 {
print("test \(i)")
}
//for 変数を使わない場合はアンダースコア in レンジや配列や辞書
for _ in 1...10 {
print("test")
}
PHP
$numberArray = array(11,22,33);
$strArray = array("test","hello","world");
Swift//配列定数
let number:[Int] = [11,22,33]
//配列変数
var str:[String] = ["test","hello","world"]
배열 초기화
PHP//配列の初期化
$numberArray = array();
//初期化された配列に値を代入
$numberArray = array(11,22,33);
Swift//配列の初期化
var number = [Int]()
//初期化された配列に値を代入
number = [11,22,33]
배열 요소 추출
PHP$numberArray = array(11,22,33);
foreach ($numberArray as $number) {
echo "$number\n";
}
Swiftvar number:[Int] = [11,22,33]
for i in number {
print(i)
}
사전 상수 및 사전 변수의 성명
PHP$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
Swift//辞書定数
let number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
//辞書変数
var number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
사전 초기화
PHP$numberArray = array();
$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
Swiftvar number = [String:Int]()
number = ["aaa":11,"bbb":22,"ccc":33]
사전 요소 추출
PHP$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
foreach ($numberArray as $str => $number) {
echo "$str $number\n";
}
Swiftvar number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
for (key,value) in number {
print("\(key) \(value)")
}
Swift 패키지 및 확장 옵션
Swiftvar str:String? = "hello" //型名に?をつけてオプショナル型にラップする
print(str) //Optional("hello")
print(str!) //hello 変数の最後に!をつけてアンラップする
Swift 사전 값은 선택 사항입니다.
Swiftvar number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
print(number["aaa"]) //Optional(11)
print(number["aaa"]!) //11 エクスクラメーションをつけてアンラップして取り出す
선택 가능한 수조로 nil의 가능한 데이터를 저장합니다. (또한 사전에서 nil의 값은 무시되기 때문에 저장할 수 없습니다.)
Swiftvar array:[String?] = ["hello",nil,"world"]
for i in array {
print(i)
}
//Optional("hello")
//nil
//Optional("world")
정수 변환
Swiftlet str = "123" //String型
let n = Int(str) //失敗した場合はnilが返却される(型名?は省略可能)
print(n) //Optional(123) 失敗した場合nil返却なのでオプショナル型が返却される
print(n!) //123
옵션 귀속(optional형nil 판정)
Swiftvar array:[String?] = ["123",nil,"789"]
for data in array {
if let d = data { //nilならfalse、nilではないならアンラップされた値を代入
print(d.dynamicType) //String アンラップされていることがわかる
print("\(Int(d)!) \(Int(d)!.dynamicType)") //123 Int,789 Int
} else {
//nilのときの処理
}
}
메타그룹(여러 가지 유형의 값을 한데 묶음)
Swiftvar tp = (name:"Kentaro Yamada", age:20)
print(tp.name)
print(tp.age)
enum (때때로 마술 번호를 방지하기 위해 enum을 사용)
Swiftenum OS:String {
case Windows = "Windows"
case iOS = "iOS"
case Android = "Android"
}
print(OS.Windows) //OS.Windowsの処理を書く(enumはSwitch分岐との相性が良い)
print(OS.Windows.rawValue) //デフォルトの値を持たせることができる
함수
Swift//戻り値なし
func hello(str:String) {
print(str)
}
hello("hello") //hello
//戻り値あり
func world(str:String) -> String {
return str
}
var str = world("world")
print(str) //world
//複数の戻り値
func helloWorld(name:String) -> (name:String, age:Int) {
let age = 12
return (name,age)
}
var ret = helloWorld("Kentaro Yamada")
print(ret.name) //Kentaro Yamada
print(ret.age) //12
//複数の引数
func helloWorld2(name:String, age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2("Kentaro Yamada",age:12) //第2引数には引数名をつける必要有
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
//複数の引数(外部名あり)
func helloWorld2(n name:String,a age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2(n:"Kentaro Yamada", a:12)
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
기본 엔클로저
Swiftfunc fc(n:Int) -> Int {
return n * 2
}
func clsr(f:(Int)->Int, n:Int) {
print(f(n))
}
clsr(fc,n:10) //20
기본 클래스
Swiftclass MyData {
var name:String = ""
func hello(){
print("hello \(name)")
}
}
var obj = MyData()
obj.name = "Kentaro Yamada"
obj.hello() //hello Kentaro Yamada
편의점 초기화기
Swiftclass Test {
var name:String = ""
var age:Int = 0
//指定イニシャライザ
init(name:String, age:Int) {
self.name = name
self.age = age
}
convenience init () {
self.init(name:"noname", age:0)
}
convenience init (name:String) {
self.init(name:name, age:0)
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
var test2 = Test(name:"Kentaro Yamada")
test2.hello() //Kentaro Yamada 0
var test3 = Test()
test3.hello() //noname 0
계산된 속성
Swift
class Test {
private var name:String = ""
private var age:Int = 0
//Computedプロパティ
var getName:String {
get {
return self.name
}
set {
self.name = newValue
}
}
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
print(test.getName) //Kentaro Yamada
test.getName = "aaa"
print(test.getName) //aaa
속성 관찰기
Swiftclass Test {
//プロパティオブザーバー(書き換えの前後を監視する)
var name:String = "" {
willSet(name){
print("willSet \(name)")
}
didSet {
print("didSet \(name)")
}
}
var age:Int = 0
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
test.name = "hello"
print(test.name) //hello
test.hello() //hello 20
Reference
이 문제에 관하여(PHP 프로그래머의 Swift 언어 시작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kentyama/items/c650a4aba1501e7f8010
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
//配列の初期化
$numberArray = array();
//初期化された配列に値を代入
$numberArray = array(11,22,33);
//配列の初期化
var number = [Int]()
//初期化された配列に値を代入
number = [11,22,33]
PHP
$numberArray = array(11,22,33);
foreach ($numberArray as $number) {
echo "$number\n";
}
Swiftvar number:[Int] = [11,22,33]
for i in number {
print(i)
}
사전 상수 및 사전 변수의 성명
PHP$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
Swift//辞書定数
let number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
//辞書変数
var number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
사전 초기화
PHP$numberArray = array();
$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
Swiftvar number = [String:Int]()
number = ["aaa":11,"bbb":22,"ccc":33]
사전 요소 추출
PHP$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
foreach ($numberArray as $str => $number) {
echo "$str $number\n";
}
Swiftvar number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
for (key,value) in number {
print("\(key) \(value)")
}
Swift 패키지 및 확장 옵션
Swiftvar str:String? = "hello" //型名に?をつけてオプショナル型にラップする
print(str) //Optional("hello")
print(str!) //hello 変数の最後に!をつけてアンラップする
Swift 사전 값은 선택 사항입니다.
Swiftvar number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
print(number["aaa"]) //Optional(11)
print(number["aaa"]!) //11 エクスクラメーションをつけてアンラップして取り出す
선택 가능한 수조로 nil의 가능한 데이터를 저장합니다. (또한 사전에서 nil의 값은 무시되기 때문에 저장할 수 없습니다.)
Swiftvar array:[String?] = ["hello",nil,"world"]
for i in array {
print(i)
}
//Optional("hello")
//nil
//Optional("world")
정수 변환
Swiftlet str = "123" //String型
let n = Int(str) //失敗した場合はnilが返却される(型名?は省略可能)
print(n) //Optional(123) 失敗した場合nil返却なのでオプショナル型が返却される
print(n!) //123
옵션 귀속(optional형nil 판정)
Swiftvar array:[String?] = ["123",nil,"789"]
for data in array {
if let d = data { //nilならfalse、nilではないならアンラップされた値を代入
print(d.dynamicType) //String アンラップされていることがわかる
print("\(Int(d)!) \(Int(d)!.dynamicType)") //123 Int,789 Int
} else {
//nilのときの処理
}
}
메타그룹(여러 가지 유형의 값을 한데 묶음)
Swiftvar tp = (name:"Kentaro Yamada", age:20)
print(tp.name)
print(tp.age)
enum (때때로 마술 번호를 방지하기 위해 enum을 사용)
Swiftenum OS:String {
case Windows = "Windows"
case iOS = "iOS"
case Android = "Android"
}
print(OS.Windows) //OS.Windowsの処理を書く(enumはSwitch分岐との相性が良い)
print(OS.Windows.rawValue) //デフォルトの値を持たせることができる
함수
Swift//戻り値なし
func hello(str:String) {
print(str)
}
hello("hello") //hello
//戻り値あり
func world(str:String) -> String {
return str
}
var str = world("world")
print(str) //world
//複数の戻り値
func helloWorld(name:String) -> (name:String, age:Int) {
let age = 12
return (name,age)
}
var ret = helloWorld("Kentaro Yamada")
print(ret.name) //Kentaro Yamada
print(ret.age) //12
//複数の引数
func helloWorld2(name:String, age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2("Kentaro Yamada",age:12) //第2引数には引数名をつける必要有
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
//複数の引数(外部名あり)
func helloWorld2(n name:String,a age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2(n:"Kentaro Yamada", a:12)
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
기본 엔클로저
Swiftfunc fc(n:Int) -> Int {
return n * 2
}
func clsr(f:(Int)->Int, n:Int) {
print(f(n))
}
clsr(fc,n:10) //20
기본 클래스
Swiftclass MyData {
var name:String = ""
func hello(){
print("hello \(name)")
}
}
var obj = MyData()
obj.name = "Kentaro Yamada"
obj.hello() //hello Kentaro Yamada
편의점 초기화기
Swiftclass Test {
var name:String = ""
var age:Int = 0
//指定イニシャライザ
init(name:String, age:Int) {
self.name = name
self.age = age
}
convenience init () {
self.init(name:"noname", age:0)
}
convenience init (name:String) {
self.init(name:name, age:0)
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
var test2 = Test(name:"Kentaro Yamada")
test2.hello() //Kentaro Yamada 0
var test3 = Test()
test3.hello() //noname 0
계산된 속성
Swift
class Test {
private var name:String = ""
private var age:Int = 0
//Computedプロパティ
var getName:String {
get {
return self.name
}
set {
self.name = newValue
}
}
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
print(test.getName) //Kentaro Yamada
test.getName = "aaa"
print(test.getName) //aaa
속성 관찰기
Swiftclass Test {
//プロパティオブザーバー(書き換えの前後を監視する)
var name:String = "" {
willSet(name){
print("willSet \(name)")
}
didSet {
print("didSet \(name)")
}
}
var age:Int = 0
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
test.name = "hello"
print(test.name) //hello
test.hello() //hello 20
Reference
이 문제에 관하여(PHP 프로그래머의 Swift 언어 시작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kentyama/items/c650a4aba1501e7f8010
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
//辞書定数
let number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
//辞書変数
var number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
PHP
$numberArray = array();
$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
Swiftvar number = [String:Int]()
number = ["aaa":11,"bbb":22,"ccc":33]
사전 요소 추출
PHP$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
foreach ($numberArray as $str => $number) {
echo "$str $number\n";
}
Swiftvar number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
for (key,value) in number {
print("\(key) \(value)")
}
Swift 패키지 및 확장 옵션
Swiftvar str:String? = "hello" //型名に?をつけてオプショナル型にラップする
print(str) //Optional("hello")
print(str!) //hello 変数の最後に!をつけてアンラップする
Swift 사전 값은 선택 사항입니다.
Swiftvar number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
print(number["aaa"]) //Optional(11)
print(number["aaa"]!) //11 エクスクラメーションをつけてアンラップして取り出す
선택 가능한 수조로 nil의 가능한 데이터를 저장합니다. (또한 사전에서 nil의 값은 무시되기 때문에 저장할 수 없습니다.)
Swiftvar array:[String?] = ["hello",nil,"world"]
for i in array {
print(i)
}
//Optional("hello")
//nil
//Optional("world")
정수 변환
Swiftlet str = "123" //String型
let n = Int(str) //失敗した場合はnilが返却される(型名?は省略可能)
print(n) //Optional(123) 失敗した場合nil返却なのでオプショナル型が返却される
print(n!) //123
옵션 귀속(optional형nil 판정)
Swiftvar array:[String?] = ["123",nil,"789"]
for data in array {
if let d = data { //nilならfalse、nilではないならアンラップされた値を代入
print(d.dynamicType) //String アンラップされていることがわかる
print("\(Int(d)!) \(Int(d)!.dynamicType)") //123 Int,789 Int
} else {
//nilのときの処理
}
}
메타그룹(여러 가지 유형의 값을 한데 묶음)
Swiftvar tp = (name:"Kentaro Yamada", age:20)
print(tp.name)
print(tp.age)
enum (때때로 마술 번호를 방지하기 위해 enum을 사용)
Swiftenum OS:String {
case Windows = "Windows"
case iOS = "iOS"
case Android = "Android"
}
print(OS.Windows) //OS.Windowsの処理を書く(enumはSwitch分岐との相性が良い)
print(OS.Windows.rawValue) //デフォルトの値を持たせることができる
함수
Swift//戻り値なし
func hello(str:String) {
print(str)
}
hello("hello") //hello
//戻り値あり
func world(str:String) -> String {
return str
}
var str = world("world")
print(str) //world
//複数の戻り値
func helloWorld(name:String) -> (name:String, age:Int) {
let age = 12
return (name,age)
}
var ret = helloWorld("Kentaro Yamada")
print(ret.name) //Kentaro Yamada
print(ret.age) //12
//複数の引数
func helloWorld2(name:String, age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2("Kentaro Yamada",age:12) //第2引数には引数名をつける必要有
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
//複数の引数(外部名あり)
func helloWorld2(n name:String,a age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2(n:"Kentaro Yamada", a:12)
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
기본 엔클로저
Swiftfunc fc(n:Int) -> Int {
return n * 2
}
func clsr(f:(Int)->Int, n:Int) {
print(f(n))
}
clsr(fc,n:10) //20
기본 클래스
Swiftclass MyData {
var name:String = ""
func hello(){
print("hello \(name)")
}
}
var obj = MyData()
obj.name = "Kentaro Yamada"
obj.hello() //hello Kentaro Yamada
편의점 초기화기
Swiftclass Test {
var name:String = ""
var age:Int = 0
//指定イニシャライザ
init(name:String, age:Int) {
self.name = name
self.age = age
}
convenience init () {
self.init(name:"noname", age:0)
}
convenience init (name:String) {
self.init(name:name, age:0)
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
var test2 = Test(name:"Kentaro Yamada")
test2.hello() //Kentaro Yamada 0
var test3 = Test()
test3.hello() //noname 0
계산된 속성
Swift
class Test {
private var name:String = ""
private var age:Int = 0
//Computedプロパティ
var getName:String {
get {
return self.name
}
set {
self.name = newValue
}
}
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
print(test.getName) //Kentaro Yamada
test.getName = "aaa"
print(test.getName) //aaa
속성 관찰기
Swiftclass Test {
//プロパティオブザーバー(書き換えの前後を監視する)
var name:String = "" {
willSet(name){
print("willSet \(name)")
}
didSet {
print("didSet \(name)")
}
}
var age:Int = 0
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
test.name = "hello"
print(test.name) //hello
test.hello() //hello 20
Reference
이 문제에 관하여(PHP 프로그래머의 Swift 언어 시작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kentyama/items/c650a4aba1501e7f8010
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$numberArray = array("aaa"=>11,
"bbb"=>22,
"ccc"=>33
);
foreach ($numberArray as $str => $number) {
echo "$str $number\n";
}
var number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
for (key,value) in number {
print("\(key) \(value)")
}
Swift
var str:String? = "hello" //型名に?をつけてオプショナル型にラップする
print(str) //Optional("hello")
print(str!) //hello 変数の最後に!をつけてアンラップする
Swift 사전 값은 선택 사항입니다.
Swiftvar number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
print(number["aaa"]) //Optional(11)
print(number["aaa"]!) //11 エクスクラメーションをつけてアンラップして取り出す
선택 가능한 수조로 nil의 가능한 데이터를 저장합니다. (또한 사전에서 nil의 값은 무시되기 때문에 저장할 수 없습니다.)
Swiftvar array:[String?] = ["hello",nil,"world"]
for i in array {
print(i)
}
//Optional("hello")
//nil
//Optional("world")
정수 변환
Swiftlet str = "123" //String型
let n = Int(str) //失敗した場合はnilが返却される(型名?は省略可能)
print(n) //Optional(123) 失敗した場合nil返却なのでオプショナル型が返却される
print(n!) //123
옵션 귀속(optional형nil 판정)
Swiftvar array:[String?] = ["123",nil,"789"]
for data in array {
if let d = data { //nilならfalse、nilではないならアンラップされた値を代入
print(d.dynamicType) //String アンラップされていることがわかる
print("\(Int(d)!) \(Int(d)!.dynamicType)") //123 Int,789 Int
} else {
//nilのときの処理
}
}
메타그룹(여러 가지 유형의 값을 한데 묶음)
Swiftvar tp = (name:"Kentaro Yamada", age:20)
print(tp.name)
print(tp.age)
enum (때때로 마술 번호를 방지하기 위해 enum을 사용)
Swiftenum OS:String {
case Windows = "Windows"
case iOS = "iOS"
case Android = "Android"
}
print(OS.Windows) //OS.Windowsの処理を書く(enumはSwitch分岐との相性が良い)
print(OS.Windows.rawValue) //デフォルトの値を持たせることができる
함수
Swift//戻り値なし
func hello(str:String) {
print(str)
}
hello("hello") //hello
//戻り値あり
func world(str:String) -> String {
return str
}
var str = world("world")
print(str) //world
//複数の戻り値
func helloWorld(name:String) -> (name:String, age:Int) {
let age = 12
return (name,age)
}
var ret = helloWorld("Kentaro Yamada")
print(ret.name) //Kentaro Yamada
print(ret.age) //12
//複数の引数
func helloWorld2(name:String, age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2("Kentaro Yamada",age:12) //第2引数には引数名をつける必要有
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
//複数の引数(外部名あり)
func helloWorld2(n name:String,a age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2(n:"Kentaro Yamada", a:12)
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
기본 엔클로저
Swiftfunc fc(n:Int) -> Int {
return n * 2
}
func clsr(f:(Int)->Int, n:Int) {
print(f(n))
}
clsr(fc,n:10) //20
기본 클래스
Swiftclass MyData {
var name:String = ""
func hello(){
print("hello \(name)")
}
}
var obj = MyData()
obj.name = "Kentaro Yamada"
obj.hello() //hello Kentaro Yamada
편의점 초기화기
Swiftclass Test {
var name:String = ""
var age:Int = 0
//指定イニシャライザ
init(name:String, age:Int) {
self.name = name
self.age = age
}
convenience init () {
self.init(name:"noname", age:0)
}
convenience init (name:String) {
self.init(name:name, age:0)
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
var test2 = Test(name:"Kentaro Yamada")
test2.hello() //Kentaro Yamada 0
var test3 = Test()
test3.hello() //noname 0
계산된 속성
Swift
class Test {
private var name:String = ""
private var age:Int = 0
//Computedプロパティ
var getName:String {
get {
return self.name
}
set {
self.name = newValue
}
}
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
print(test.getName) //Kentaro Yamada
test.getName = "aaa"
print(test.getName) //aaa
속성 관찰기
Swiftclass Test {
//プロパティオブザーバー(書き換えの前後を監視する)
var name:String = "" {
willSet(name){
print("willSet \(name)")
}
didSet {
print("didSet \(name)")
}
}
var age:Int = 0
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
test.name = "hello"
print(test.name) //hello
test.hello() //hello 20
Reference
이 문제에 관하여(PHP 프로그래머의 Swift 언어 시작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kentyama/items/c650a4aba1501e7f8010
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
var number:[String:Int] = ["aaa":11,"bbb":22,"ccc":33]
print(number["aaa"]) //Optional(11)
print(number["aaa"]!) //11 エクスクラメーションをつけてアンラップして取り出す
Swift
var array:[String?] = ["hello",nil,"world"]
for i in array {
print(i)
}
//Optional("hello")
//nil
//Optional("world")
정수 변환
Swiftlet str = "123" //String型
let n = Int(str) //失敗した場合はnilが返却される(型名?は省略可能)
print(n) //Optional(123) 失敗した場合nil返却なのでオプショナル型が返却される
print(n!) //123
옵션 귀속(optional형nil 판정)
Swiftvar array:[String?] = ["123",nil,"789"]
for data in array {
if let d = data { //nilならfalse、nilではないならアンラップされた値を代入
print(d.dynamicType) //String アンラップされていることがわかる
print("\(Int(d)!) \(Int(d)!.dynamicType)") //123 Int,789 Int
} else {
//nilのときの処理
}
}
메타그룹(여러 가지 유형의 값을 한데 묶음)
Swiftvar tp = (name:"Kentaro Yamada", age:20)
print(tp.name)
print(tp.age)
enum (때때로 마술 번호를 방지하기 위해 enum을 사용)
Swiftenum OS:String {
case Windows = "Windows"
case iOS = "iOS"
case Android = "Android"
}
print(OS.Windows) //OS.Windowsの処理を書く(enumはSwitch分岐との相性が良い)
print(OS.Windows.rawValue) //デフォルトの値を持たせることができる
함수
Swift//戻り値なし
func hello(str:String) {
print(str)
}
hello("hello") //hello
//戻り値あり
func world(str:String) -> String {
return str
}
var str = world("world")
print(str) //world
//複数の戻り値
func helloWorld(name:String) -> (name:String, age:Int) {
let age = 12
return (name,age)
}
var ret = helloWorld("Kentaro Yamada")
print(ret.name) //Kentaro Yamada
print(ret.age) //12
//複数の引数
func helloWorld2(name:String, age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2("Kentaro Yamada",age:12) //第2引数には引数名をつける必要有
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
//複数の引数(外部名あり)
func helloWorld2(n name:String,a age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2(n:"Kentaro Yamada", a:12)
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
기본 엔클로저
Swiftfunc fc(n:Int) -> Int {
return n * 2
}
func clsr(f:(Int)->Int, n:Int) {
print(f(n))
}
clsr(fc,n:10) //20
기본 클래스
Swiftclass MyData {
var name:String = ""
func hello(){
print("hello \(name)")
}
}
var obj = MyData()
obj.name = "Kentaro Yamada"
obj.hello() //hello Kentaro Yamada
편의점 초기화기
Swiftclass Test {
var name:String = ""
var age:Int = 0
//指定イニシャライザ
init(name:String, age:Int) {
self.name = name
self.age = age
}
convenience init () {
self.init(name:"noname", age:0)
}
convenience init (name:String) {
self.init(name:name, age:0)
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
var test2 = Test(name:"Kentaro Yamada")
test2.hello() //Kentaro Yamada 0
var test3 = Test()
test3.hello() //noname 0
계산된 속성
Swift
class Test {
private var name:String = ""
private var age:Int = 0
//Computedプロパティ
var getName:String {
get {
return self.name
}
set {
self.name = newValue
}
}
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
print(test.getName) //Kentaro Yamada
test.getName = "aaa"
print(test.getName) //aaa
속성 관찰기
Swiftclass Test {
//プロパティオブザーバー(書き換えの前後を監視する)
var name:String = "" {
willSet(name){
print("willSet \(name)")
}
didSet {
print("didSet \(name)")
}
}
var age:Int = 0
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
test.name = "hello"
print(test.name) //hello
test.hello() //hello 20
Reference
이 문제에 관하여(PHP 프로그래머의 Swift 언어 시작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kentyama/items/c650a4aba1501e7f8010
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
let str = "123" //String型
let n = Int(str) //失敗した場合はnilが返却される(型名?は省略可能)
print(n) //Optional(123) 失敗した場合nil返却なのでオプショナル型が返却される
print(n!) //123
Swift
var array:[String?] = ["123",nil,"789"]
for data in array {
if let d = data { //nilならfalse、nilではないならアンラップされた値を代入
print(d.dynamicType) //String アンラップされていることがわかる
print("\(Int(d)!) \(Int(d)!.dynamicType)") //123 Int,789 Int
} else {
//nilのときの処理
}
}
메타그룹(여러 가지 유형의 값을 한데 묶음)
Swiftvar tp = (name:"Kentaro Yamada", age:20)
print(tp.name)
print(tp.age)
enum (때때로 마술 번호를 방지하기 위해 enum을 사용)
Swiftenum OS:String {
case Windows = "Windows"
case iOS = "iOS"
case Android = "Android"
}
print(OS.Windows) //OS.Windowsの処理を書く(enumはSwitch分岐との相性が良い)
print(OS.Windows.rawValue) //デフォルトの値を持たせることができる
함수
Swift//戻り値なし
func hello(str:String) {
print(str)
}
hello("hello") //hello
//戻り値あり
func world(str:String) -> String {
return str
}
var str = world("world")
print(str) //world
//複数の戻り値
func helloWorld(name:String) -> (name:String, age:Int) {
let age = 12
return (name,age)
}
var ret = helloWorld("Kentaro Yamada")
print(ret.name) //Kentaro Yamada
print(ret.age) //12
//複数の引数
func helloWorld2(name:String, age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2("Kentaro Yamada",age:12) //第2引数には引数名をつける必要有
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
//複数の引数(外部名あり)
func helloWorld2(n name:String,a age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2(n:"Kentaro Yamada", a:12)
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
기본 엔클로저
Swiftfunc fc(n:Int) -> Int {
return n * 2
}
func clsr(f:(Int)->Int, n:Int) {
print(f(n))
}
clsr(fc,n:10) //20
기본 클래스
Swiftclass MyData {
var name:String = ""
func hello(){
print("hello \(name)")
}
}
var obj = MyData()
obj.name = "Kentaro Yamada"
obj.hello() //hello Kentaro Yamada
편의점 초기화기
Swiftclass Test {
var name:String = ""
var age:Int = 0
//指定イニシャライザ
init(name:String, age:Int) {
self.name = name
self.age = age
}
convenience init () {
self.init(name:"noname", age:0)
}
convenience init (name:String) {
self.init(name:name, age:0)
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
var test2 = Test(name:"Kentaro Yamada")
test2.hello() //Kentaro Yamada 0
var test3 = Test()
test3.hello() //noname 0
계산된 속성
Swift
class Test {
private var name:String = ""
private var age:Int = 0
//Computedプロパティ
var getName:String {
get {
return self.name
}
set {
self.name = newValue
}
}
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
print(test.getName) //Kentaro Yamada
test.getName = "aaa"
print(test.getName) //aaa
속성 관찰기
Swiftclass Test {
//プロパティオブザーバー(書き換えの前後を監視する)
var name:String = "" {
willSet(name){
print("willSet \(name)")
}
didSet {
print("didSet \(name)")
}
}
var age:Int = 0
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
test.name = "hello"
print(test.name) //hello
test.hello() //hello 20
Reference
이 문제에 관하여(PHP 프로그래머의 Swift 언어 시작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kentyama/items/c650a4aba1501e7f8010
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
var tp = (name:"Kentaro Yamada", age:20)
print(tp.name)
print(tp.age)
Swift
enum OS:String {
case Windows = "Windows"
case iOS = "iOS"
case Android = "Android"
}
print(OS.Windows) //OS.Windowsの処理を書く(enumはSwitch分岐との相性が良い)
print(OS.Windows.rawValue) //デフォルトの値を持たせることができる
함수
Swift//戻り値なし
func hello(str:String) {
print(str)
}
hello("hello") //hello
//戻り値あり
func world(str:String) -> String {
return str
}
var str = world("world")
print(str) //world
//複数の戻り値
func helloWorld(name:String) -> (name:String, age:Int) {
let age = 12
return (name,age)
}
var ret = helloWorld("Kentaro Yamada")
print(ret.name) //Kentaro Yamada
print(ret.age) //12
//複数の引数
func helloWorld2(name:String, age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2("Kentaro Yamada",age:12) //第2引数には引数名をつける必要有
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
//複数の引数(外部名あり)
func helloWorld2(n name:String,a age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2(n:"Kentaro Yamada", a:12)
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
기본 엔클로저
Swiftfunc fc(n:Int) -> Int {
return n * 2
}
func clsr(f:(Int)->Int, n:Int) {
print(f(n))
}
clsr(fc,n:10) //20
기본 클래스
Swiftclass MyData {
var name:String = ""
func hello(){
print("hello \(name)")
}
}
var obj = MyData()
obj.name = "Kentaro Yamada"
obj.hello() //hello Kentaro Yamada
편의점 초기화기
Swiftclass Test {
var name:String = ""
var age:Int = 0
//指定イニシャライザ
init(name:String, age:Int) {
self.name = name
self.age = age
}
convenience init () {
self.init(name:"noname", age:0)
}
convenience init (name:String) {
self.init(name:name, age:0)
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
var test2 = Test(name:"Kentaro Yamada")
test2.hello() //Kentaro Yamada 0
var test3 = Test()
test3.hello() //noname 0
계산된 속성
Swift
class Test {
private var name:String = ""
private var age:Int = 0
//Computedプロパティ
var getName:String {
get {
return self.name
}
set {
self.name = newValue
}
}
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
print(test.getName) //Kentaro Yamada
test.getName = "aaa"
print(test.getName) //aaa
속성 관찰기
Swiftclass Test {
//プロパティオブザーバー(書き換えの前後を監視する)
var name:String = "" {
willSet(name){
print("willSet \(name)")
}
didSet {
print("didSet \(name)")
}
}
var age:Int = 0
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
test.name = "hello"
print(test.name) //hello
test.hello() //hello 20
Reference
이 문제에 관하여(PHP 프로그래머의 Swift 언어 시작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kentyama/items/c650a4aba1501e7f8010
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
//戻り値なし
func hello(str:String) {
print(str)
}
hello("hello") //hello
//戻り値あり
func world(str:String) -> String {
return str
}
var str = world("world")
print(str) //world
//複数の戻り値
func helloWorld(name:String) -> (name:String, age:Int) {
let age = 12
return (name,age)
}
var ret = helloWorld("Kentaro Yamada")
print(ret.name) //Kentaro Yamada
print(ret.age) //12
//複数の引数
func helloWorld2(name:String, age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2("Kentaro Yamada",age:12) //第2引数には引数名をつける必要有
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
//複数の引数(外部名あり)
func helloWorld2(n name:String,a age:Int) -> (name2:String, age2:Int) {
return (name,age)
}
var ret2 = helloWorld2(n:"Kentaro Yamada", a:12)
print(ret2.name2) //Kentaro Yamada
print(ret2.age2) //12
Swift
func fc(n:Int) -> Int {
return n * 2
}
func clsr(f:(Int)->Int, n:Int) {
print(f(n))
}
clsr(fc,n:10) //20
기본 클래스
Swiftclass MyData {
var name:String = ""
func hello(){
print("hello \(name)")
}
}
var obj = MyData()
obj.name = "Kentaro Yamada"
obj.hello() //hello Kentaro Yamada
편의점 초기화기
Swiftclass Test {
var name:String = ""
var age:Int = 0
//指定イニシャライザ
init(name:String, age:Int) {
self.name = name
self.age = age
}
convenience init () {
self.init(name:"noname", age:0)
}
convenience init (name:String) {
self.init(name:name, age:0)
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
var test2 = Test(name:"Kentaro Yamada")
test2.hello() //Kentaro Yamada 0
var test3 = Test()
test3.hello() //noname 0
계산된 속성
Swift
class Test {
private var name:String = ""
private var age:Int = 0
//Computedプロパティ
var getName:String {
get {
return self.name
}
set {
self.name = newValue
}
}
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
print(test.getName) //Kentaro Yamada
test.getName = "aaa"
print(test.getName) //aaa
속성 관찰기
Swiftclass Test {
//プロパティオブザーバー(書き換えの前後を監視する)
var name:String = "" {
willSet(name){
print("willSet \(name)")
}
didSet {
print("didSet \(name)")
}
}
var age:Int = 0
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
test.name = "hello"
print(test.name) //hello
test.hello() //hello 20
Reference
이 문제에 관하여(PHP 프로그래머의 Swift 언어 시작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kentyama/items/c650a4aba1501e7f8010
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
class MyData {
var name:String = ""
func hello(){
print("hello \(name)")
}
}
var obj = MyData()
obj.name = "Kentaro Yamada"
obj.hello() //hello Kentaro Yamada
Swift
class Test {
var name:String = ""
var age:Int = 0
//指定イニシャライザ
init(name:String, age:Int) {
self.name = name
self.age = age
}
convenience init () {
self.init(name:"noname", age:0)
}
convenience init (name:String) {
self.init(name:name, age:0)
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
var test2 = Test(name:"Kentaro Yamada")
test2.hello() //Kentaro Yamada 0
var test3 = Test()
test3.hello() //noname 0
계산된 속성
Swift
class Test {
private var name:String = ""
private var age:Int = 0
//Computedプロパティ
var getName:String {
get {
return self.name
}
set {
self.name = newValue
}
}
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
print(test.getName) //Kentaro Yamada
test.getName = "aaa"
print(test.getName) //aaa
속성 관찰기
Swiftclass Test {
//プロパティオブザーバー(書き換えの前後を監視する)
var name:String = "" {
willSet(name){
print("willSet \(name)")
}
didSet {
print("didSet \(name)")
}
}
var age:Int = 0
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
test.name = "hello"
print(test.name) //hello
test.hello() //hello 20
Reference
이 문제에 관하여(PHP 프로그래머의 Swift 언어 시작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kentyama/items/c650a4aba1501e7f8010
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
class Test {
private var name:String = ""
private var age:Int = 0
//Computedプロパティ
var getName:String {
get {
return self.name
}
set {
self.name = newValue
}
}
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
print(test.getName) //Kentaro Yamada
test.getName = "aaa"
print(test.getName) //aaa
Swift
class Test {
//プロパティオブザーバー(書き換えの前後を監視する)
var name:String = "" {
willSet(name){
print("willSet \(name)")
}
didSet {
print("didSet \(name)")
}
}
var age:Int = 0
init(name:String, age:Int) {
self.name = name
self.age = age
}
func hello(){
print("\(name) \(age)")
}
}
var test = Test(name:"Kentaro Yamada", age:20)
test.hello() //Kentaro Yamada 20
test.name = "hello"
print(test.name) //hello
test.hello() //hello 20
Reference
이 문제에 관하여(PHP 프로그래머의 Swift 언어 시작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kentyama/items/c650a4aba1501e7f8010텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)