에스 테크 스타 닷컴 Login
  • 기술사학습
    • 디지털신서비스
    • 소프트웨어공학
    • 정보보안
    • 정보시스템감리
    • 컴퓨터네트워크
    • 트러블도메인솔루션
    • 특강, 갈무리, 예상문제
    • 경영기반
    • 데이터베이스
    • 학습 마인드 맵
  • 기술지도사 학습
    • 01 정보통신 개론
    • 02 시스템응용 : 운영체제 (OS)
    • 02 시스템응용 : 데이터베이스 (DB)
    • 03 소프트웨어 공학
    • 05 답안작성연습
    • [참고]경영지도사
  • comphy's PGP
    • 최근 게시물 모음
    • 에세이
    • 사진게시판
    • 자유게시판
    • starship21의 영화감상기록장
    • 학습 및 유용한 Torrent
    • 일정관리
    • comphy's 디지털 아트
    • Xanadu
    • 정보기술서적요약 및 독후감
    • 時事_exuberance
    • 알차게365
  • 학습 (웹스크랩)
    • 一日30分 인생승리의 학습법
    • 알아봅시다
    • 새로운 과학 뉴스
    • C언어 알고리즘 & UNIX or Linux
    • SQL학습, DB설계, 통계 및 빅데이터
    • Java 알고리즘
    • Python 알고리즘
    • php web 프로그래밍
    • java Web 프로그래밍
    • 웹사이트 제작,디자인
    • Scientific Programming
    • 정보보호,보안
    • 임베디드 기술, HardWare, 마이크로콘트롤러
    • 전산물리학
    • Windows App 프로그래밍
    • Android App 프로그래밍
    • Apple IOS App 프로그래밍
    • 교양 인문학
    • WebGL/Web Game Programming
    • TED 강좌
    • 멀티플랫폼 앱 및 게임개발
    • 사회조사분석사
    • [경찰청] 경비지도사
    • Engineer Biomedical
    • (전문)자격시험
    • 신생언어 (swift,kortlin,etc)
    • (다시 볼)동영상 스크랩
  • 인공지능 개발 도구
    • 인공지능 기술
    • chatGPT
    • google bard
    • GitHub Copilot
    • Amazon CodeWhisperer
    • MS Office Copliot
    • llama (ollama)
    • AI로봇 & 인간형 로봇(Humanoid robot)
    • 네이티브 인공지능 개발자
    • AI(인공지능) 서비스 보안
  • 유머BBS
    • 오늘의 유머 / 일간베스트
    • 에스유머
  • 에스테크 계열 사이트
    • 에스천사게임즈
    • 프리해킹존
    • 에스테크데이터
    • 메타-노마드
    • 덕후방 http://duku.kr/
    • comphy's portfolio
  • sTech RnD
    • 뉴스 스크랩
    • 한국은행 100대 경제지표
    • 오픈소스 LLM
    • 스파코딩 신문 만들기 실습
    • 인공지능 프로그래밍 코드 교정 및 제안
    • mermaid.js 테스트
    • qb.js 테스트
    • crypto_trends
    • (KDT교강사用) 팀빌딩 사이트
    • 게임이론 연구 (study)
    • 포춘 쿠키 생성기
    • vPythonStudy
    • 재무제표 시각화
    • 반도체 MES (실습)
    • 재무 관리 시스템
  •  
    • 로그인
    • 회원가입
    • 인증메일 재발송
    • ID/PW 찾기
  •  
  • 학습 (웹스크랩)
  • 一日30分 인생승리의 학습법
  • 알아봅시다
  • 새로운 과학 뉴스
  • C언어 알고리즘 & UNIX or Linux
  • SQL학습, DB설계, 통계 및 빅데이터
  • Java 알고리즘
  • Python 알고리즘
  • php web 프로그래밍
  • java Web 프로그래밍
  • 웹사이트 제작,디자인
  • Scientific Programming
  • 정보보호,보안
  • 임베디드 기술, HardWare, 마이크로콘트롤러
  • 전산물리학
  • Windows App 프로그래밍
  • Android App 프로그래밍
  • Apple IOS App 프로그래밍
  • 교양 인문학
  • WebGL/Web Game Programming
  • TED 강좌
  • 멀티플랫폼 앱 및 게임개발
  • 사회조사분석사
  • [경찰청] 경비지도사
  • Engineer Biomedical
  • (전문)자격시험
  • 신생언어 (swift,kortlin,etc)
  • (다시 볼)동영상 스크랩
  • [인공지능 기술] 25...
  • [인공지능 기술] [AX...
  • “AI 부업으로 돈 번...
  • [발버둥 청년] AI로 ...
  • [一日30分 인생승리...
  • 학습 (웹스크랩) /
  • 一日30分 인생승리의 학습법

단숨에 애플 스위프트(Swift) 배우기

2018.08.14 08:18

졸리운_곰 조회 수:86

단숨에 애플 스위프트(Swift) 배우기

 

기존 개발자를 위한 정리입니다. 개인적으로 액션스크립트와 많이 유사해서 좋네요. 1. 끝에 세미콜론(;) 없는게 관행 (있어도 무관)
2. 대소문자 구분함
3. 주석
한 줄 ::
//
여러 줄 ::
/* */

4. 변수 정의

1
2
3
4
5
6
7
8
9
// 변수
var str:String = "Hello World"

// 상수 :: (Int는 Int64와 동일)
let age:Int = 21

//nil(빈값)으로 초기화 (Optionals)
var opt:Int // 초기화 안됨 (Error!!)
var opt:Int? // nil로 초기화

5. 조건문 (&&, || 사용)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if (age < 20) {
} else if (age == 20) {
} else {
}

switch (age)
{
    case 15...20: // 15 ~ 20
        break;
    case 21:
        break;
    default: // 반드시 필요
}

var result:String = ((age < 20) ? "A" : "B")
print("result=\(result)") // result=B

6. 반복문

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
for (var i:Int = 0; i < 10; ++i) { // 이건 스위프트 3.0에서 없어질 예정
    print(i) // 0 ~ 9
}

// for var i:Int in 0..<10 {
// for i in 0...9 {
for i in 0..<10 {
    print(i) // 0 ~ 9
}

var i:Int = 0
while (i < 10) {
    print(i) // 0 ~ 9
    ++i
}

i = 0
repeat {
    print(i) // 0 ~ 9
    ++i
}
while (i < 10)

var arr:Array = ["AAA", "BBB", "CCC"]
for var prop:String in arr {
     // for prop in arr 가능
    print(prop) // AAA, BBB, CCC
}

var arr2:Dictionary = [
    "a" : "AAA",
    "b" : "BBB",
    "c" : "CCC"
]
for (k, v) in arr2 {
    print(k, v) // b BBB, a AAA, c CCC
}

7. 함수 (함수 정의 후 호출을 권장, 파라미터 초기화 가능)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 반환값이 1개일 경우
func call(value:Int=333) -> String {
    print(value) // 111, 333
    return "OK"
}
print(call(111)) // OK
print(call()) // OK

// 반환값이 2개 이상일 경우
func get() -> (result1:String, result2:Int) {
    return ("AAA", 111) // 튜플로 반환
}
var tup = get()
print(tup.result1, tup.result2) // AAA 111

8. 배열

1
2
3
4
5
6
7
8
9
10
// var arr:[String]
var arr:Array = ["AAA", "BBB", "CCC"]
print(arr[0]) // AAA
print(arr.count) // 3
print(arr.removeLast()) // CCC
print(arr) // ["AAA", "BBB"]
print(arr.removeAtIndex(1)) // BBB
arr.append("DDD") // arr += ["DDD"] 가능
arr.insert("EEE", atIndex:1)
print(arr) // ["AAA", "EEE", "DDD"]

9. 딕셔너리

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

1
2
3
4
5
6
7
8
var emptyDic:Dictionary = [String:Int]()
var dic = ["a":1, "b":2, "c":3]
print(dic.count) // 3
dic["c"] = nil
print(dic.count) // 2
dic["b"] = 4
dic.updateValue(5, forKey: "a")
print(dic) // ["a":5, "b":4]

10. 세트

1
2
3
4
5
6
7
8
var s:Set<String> = []
var s2:Set = ["AAA", "BBB"] // 동일한 타입만 가능
print(s2.count) // 2
s2.insert("CCC")
s2.remove("AAA")
print(s2) // ["BBB", "CCC"]
s2.removeAll()
print(s2.count) // 0

11. 튜플

1
2
3
4
5
6
7
8
9
10
var tup = (blog:"WonHada.com", from:2015)
print(tup.0) // WonHada.com
tup.0 = "Kangmin Won"
print(tup.blog) // Kangmin Won
print(tup.from) // 2015

// 튜플은 Value Type
var tupCopy = tup
tup.0 = "Changed"
print(tupCopy.0) //"Kangmin Won"

12. 열거형

1
2
3
4
5
6
7
8
9
enum State {
    case PLAYING
    case PAUSED
    case STOPPED
}
var s1 = State.PLAYING
var s2:State = .STOPPED
if (s2 == State.PAUSED) {
}

13. 클로져

1
2
3
4
5
6
7
8
9
10
// 함수
func sumFunc(a:Int, b:Int) -> Int {
    return a + b
}

// 클로져 (함수의 'func sumFunc' 빼고, in 추가)
var sumClosure = {(a, b) -> Int in return a + b}

print(sumFunc(1, b:2)) // 3
print(sumClosure(1, 2)) // 3

14. Getter / Setter

1
2
3
4
5
6
7
8
9
10
11
12
13
var _v:Int = 0
var value:Int {
    get {
        return _v
    }
    set {
        _v = newValue
        print("_v=\(_v)") //_v=10
    }
}

print(value) // 0
value = 10

15. 클래스

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
class Person {
    // 프로퍼티
    class var mom:String {
        get {
            return "Mommy"
        }
    }
    var name:String
    var age:Int

    // 생성자 (초기화)
    init() {
        self.name = "none"
        self.age = 0
    }

    // 생성자 오버로딩
    init(name:String, age:Int) {
        self.name = name
        self.age = age
    }

    // 메소드
    func sing() -> Void {
        print("Let it go~")
    }
}

print(Person.mom)
var p1 = Person(name:"Elsa", age:21)
p1.sing()

// 상속
class Anna : Person {
    override func sing() {
        print("Love is an open door~")
    }
}

var anna = Anna(name: "Anna", age: 18)
anna.sing()

[출처] https://blog.wonhada.com/?p=1849

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
  • swift-945x317.jpg [File Size:14.0KB/Download:17]
이 게시물을
  • Twitter
  • Facebook
  • Delicious
목록

댓글 0

목록
번호 제목 글쓴이 날짜 조회 수
718 개인 소프트웨어 프로세스 (1인 개발 프로젝트 방법론) Personal Software Process : PSP file 졸리운_곰 2018.09.06 88
717 커빙 아키텍쳐 file 졸리운_곰 2018.09.04 107
716 SNS 서비스의 기록 백업, 다양한 SNS 관리를 가능하게 하는 서비스는? 커빙, 소셜세이프 file 졸리운_곰 2018.09.04 108
715 오픈 소스 서버 모니터링 툴 소개 file 졸리운_곰 2018.09.02 204
714 전세계의 유명 온라인 프로그래밍 교육서비스 file 졸리운_곰 2018.08.30 149
713 [정보처리 기능사] 알고리즘 요약 file 졸리운_곰 2018.08.25 198
712 [정보처리기사 실기] 요약집 DB 데이터베이스 file 졸리운_곰 2018.08.25 86
711 [정보처리기사 실기] 알고리즘 요약집 file 졸리운_곰 2018.08.25 75
710 더 나은 RESTful API를 위한 10가지 관례 file 졸리운_곰 2018.08.17 70
709 루아 15분 안에 배우기 졸리운_곰 2018.08.14 324
» 단숨에 애플 스위프트(Swift) 배우기 file 졸리운_곰 2018.08.14 86
707 단숨에 루아(Lua) 스크립트 배우기 file 졸리운_곰 2018.08.14 114
706 일곱가지 2017년 최고의 웹 개발 프레임워크 : 7 Best Frameworks For Web Development in 2017 file 졸리운_곰 2018.08.03 1290
705 아틀라시안 컴플루언스 rest Api 페이지 검색 졸리운_곰 2018.07.31 129
704 트래픽올리는 방법 졸리운_곰 2018.07.25 81
703 Excel을 활용한 선형계획 풀이 file 졸리운_곰 2018.07.23 208
702 도커파일(Dockerfiles) 졸리운_곰 2018.07.11 84
701 초보를 위한 도커 안내서 - 이미지 만들고 배포하기 file 졸리운_곰 2018.06.26 99
700 초보를 위한 도커 안내서 - 설치하고 컨테이너 실행하기 file 졸리운_곰 2018.06.26 101
699 초보를 위한 도커 안내서 - 도커란 무엇인가? file 졸리운_곰 2018.06.26 314
첫 페이지 22 23 24 25 26 27 28 29 30 31 끝 페이지
쓰기
태그
  • FamilySite
    • 기술사학습
    • 기술지도사 학습
    • comphy's PGP
    • 학습 (웹스크랩)
    • 인공지능 개발 도구
    • 유머BBS
    • 에스테크 계열 사이트
    • sTech RnD
  • Language
    • 한국어
    • English
    • 日本語
  • Layout by Wincomi
  • 기술사학습
  • 기술지도사 학습
  • comphy's PGP
  • 학습 (웹스크랩)
  • 인공지능 개발 도구
  • 유머BBS
  • 에스테크 계열 사이트
  • sTech RnD

로그인


회원가입
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED