검색결과 리스트
코드에 해당되는 글 4건
- 2016.05.07 160507 Swift Optional 스위프트의 꽃 옵셔널! 마지막편!
- 2016.05.07 160506 Swift Optional 스위프트의 꽃! 옵셔널에 대해 알아보자!
- 2016.05.06 160505 Swift 구문편! if, for, switch 까지!
- 2016.04.23 160423 Swift Tuple, Typealias 편 ! :) 튜플과 타입얼라이어스 1
안녕하세요~ 에르의 생각발전소입니다 :)
이번 시간에는 옵셔널의 마지막편입니다!
Force Unwrapping
Optional Binding
Implicitly Unwrapped Optional
위 세가지 중 옵셔널과 임플릭시티 언렙 옵셔널에 대해서 알아보겠습니다:)
지난번 다뤄보았던 코드들 그대로 가지고 계신가요?!
시작해보죠.
if let conratings = ratings {
// if let conratings = ratings로 새로운 상수 선언 후 대입!
movieInfo += "has \(conratings.count) ratings."
//ratings.count 또한 conratings.count로 변경!
}
if let conofficial = officialUrl { // 홈페이지주소가 닐 값이 아니라면,
movieInfo += "/r/n let's contact our page : \(conofficial)"
// 무비인포에 위의 문장을 더한다. /r/n은 한줄 띄움임.
}
print("\(movieInfo)")
// 포스언렙핑 말고 다른 방법도 있음!
// Optional binding : if var , if let 으로 옵셔널사용을 최소화하기 위해 변수나 상수를 새로 만드는 것임.
var officialUrl : String! = nil
// 처음에는 nil이지만 나중에 어떻게든 무조건 값을 받을 경우는 implicity unwrapped optional방식을 사용하여,
타입뒤에 !를 붙임! 그렇게 되면?!
officialUrl = "www.deathnote.com"
// if let conofficial = officialUrl { // 홈페이지주소가 닐 값이 아니라면,
// movieInfo += "/r/n let's contact our page : \(conofficial)"
// 무비인포에 위의 문장을 더한다. /r/n은 한줄 띄움임.
// }
movieInfo += "/r/n let's contact our page : \(officialUrl)"
// 위에 if let conofficial 필요없이 바로 옵셔널이 아닌것 마냥 쉽게 사용이 가능함!
print("\(movieInfo)")
// 포스언렙핑 말고 다른 방법도 있음!
// Optional binding : if var , if let 으로 옵셔널사용을 최소화하기 위해 변수나 상수를 새로 만드는 것임.
// 마지막으로 Implicitly Unwarrped Optional도 있음!
// 옵셔널 선언 후 나중에는 반드시 값을 가지게 될 값에게 위 방법을 사용할 수 있음!
// 보다 효과적임.
// 옵셔널은 스위프트에서 매우 중요한 부분이니, 다시 한번 제대로 되새겨주세요!
160512 Swift Function 스위프트 함수편! (0) | 2016.05.12 |
---|---|
160507 Swift Function 이번엔 프로그래밍의 꽃! 함수편! (0) | 2016.05.08 |
160506 Swift Optional 스위프트의 꽃! 옵셔널에 대해 알아보자! (0) | 2016.05.07 |
160505 Swift 구문편! if, for, switch 까지! (0) | 2016.05.06 |
160505 Swift Collection: Dictionary 와 Set (0) | 2016.05.06 |
안녕하세요~ 에르의 생각발전소입니다! :)
이번 시간에는 스위프트의 꽃!
옵셔널을 빼고 스위프트를 안다고 절대 할 수 없죠!?
드디어 이번 시간에는 Optional 에 대해서 알아보겠습니다!
시작해볼게요 :)
// 스위프트의 꽃인, optional
// Nil 값이 없는 무의 상태를 의미함.
// 특히 0과 NIL의 개념은 다름. 0은 정수가 있다는 얘기임.
// Optuonal : 프로그래밍의 안전벨트, 실행 중 Nil이 돠어 프로그램 크래쉬를 일으킬 수 있는 변수를 특별히 관리한다는 것임
// 스위프트의 장점이자, 단점인데 결론적으론 좋은 장점임!
// 옵셔널을 만드는 방법은 TYPE뒤에 ?를 붙이면 됨.
// EX: NAME:TYPE? = VALUE
let Movie : String = "Death Note"
// 데스노트라는 값은 가진 스트링타입의 무비네임을 가짐 변수임.
var ratings : [Double]? = nil
// 평점을 더블타입으로 nil값을 주어서 선언함.
var ratings : [Double]? = nil
// 평점을 더블타입으로 nil값을 주어서 선언함.
// 허나 포스 언렙핑을 사용했음에도 불구하고 코드가 확실히 죽어버림.
왜냐하면, 값이 결국은 없기 때문임.
고로 이 방법을 사용하면, 빠른 길을 머어어어어얼리 돌아가야하는 결과가 나옴. :(
officialUrl = "www.deathnote.com"
// 일단 홈페이지 주소를 부여함.
var movieInfo: String = "\(Movie)"
// 무비지인포라는 스트링타입의 변수를 선언하고 무비인포는 무비라고 초기화함.
// ratings != nil 에서 ratings는 nil이 아니다! 라는 연산자입니다! (!= NOT)
// 그래서 ratings는 nil값이 아니라고 선언을 했으니!! 문제가 없음!
// /r/n는 한줄 띄움임! 앞으로 자주 사용하실거에요 :)
// officialUrl != nil 이 nil값이 아니라면,
movieInfo에 위 문장을 더한다~!
// 앞에 Optional이 보기 싫고 불완전하게 코딩이 되었으니!
// 짜잔!. officialUrl에 ! 를 붙여서 포스 언렙핑을 시켜서
// 완변히 만들어줍니다 :)
다음 시간에는 ~ ? Optional binding 과 Implicity Wrapped Optional 에 대해서
다루어보도록하겠습니다!
2016/05/05 - [프로그래밍발전소 ♫] - 160505 Swift 구문편! if, for, switch 까지!
2016/05/05 - [프로그래밍발전소 ♫] - 160505 Swift Collection: Dictionary 와 Set
2016/04/25 - [프로그래밍발전소 ♫] - 160424 collection Array 편 :)
2016/04/23 - [프로그래밍발전소 ♫] - 160423 Swift Tuple, Typealias 편 ! :) 튜플과 타입얼라이어스
2016/04/20 - [프로그래밍발전소 ♫] - 160419 Swift part.2 String과 Numbers에 대해서
2016/04/19 - [프로그래밍발전소 ♫] - 160418 swift 란? 스위프트 언어에 대해서 알아봅시다. let과 var편
160507 Swift Function 이번엔 프로그래밍의 꽃! 함수편! (0) | 2016.05.08 |
---|---|
160507 Swift Optional 스위프트의 꽃 옵셔널! 마지막편! (0) | 2016.05.07 |
160505 Swift 구문편! if, for, switch 까지! (0) | 2016.05.06 |
160505 Swift Collection: Dictionary 와 Set (0) | 2016.05.06 |
160424 collection Array 편 :) (2) | 2016.04.25 |
안녕하세요~ 에르의 생각발전소입니다!
저번 시간에 다뤄보았던 Dictionary, Set, Array에 이어,
이번에는 코드의 생명.
연산자 파트에 속하는 구문에 대해서 살~~짝 알아보도록 하겠습니다! :)\
// if 문 = 조건의 따른 분기문임.
// if condtion { ...
// } else {
// ...
// } //
// 위와 같은 구조를 가짐.
// if 의 조건이 참이면 else 앞의 구문이 실행되고,
// 거짓일 경우 else 뒤의 구문이 실행된다.
// 전편에 사용했던 변수를 이용하여, if문을 만들어보겠습니다.
if intersect.count > 0 {
print("두개의 팀에 모두 소속돤 학생은 \(schoolTripTeam1) 입니다.")
} else {
print("두개의 팀에 모두 소속된 학생은 없습니다.")
}
// intersect의 학생수가 0보다 많으니 참이므로, else 앞의 구문이 실행됨.
// 위와 같은 조건식으로 if문을 작성하여 구동하실 수 있습니다.
// for 구문 : 범위 또는 컬렉션의 반복 구문.
/* for 값 ; 반복조건 ; 증가값 {...
} for item in collection { ...
}
*/
for studentName in schoolTripTeam1 {
print("\(schoolTripTeam1)은 팀1에 소속된 학생이 맞습니다.")
}
// for switch 구문, 다양한 변수의 경우를 집어 넣을 때 사용.
for (name, scale) in SeminaRooms {
// SeminaRomms의 스트링값을 name이 인트값을 scale이 할당받음.
let roomInformation:String
//새로운 스트링 타입 상수를 만들어 케이스를 가정하나, print를 사용해도됨.
switch scale { // scale을 스위치로 사용하겠다~
case 4:
// 스케일이 4라면!?
roomInformation = "\(name)은 작은 방이며. \(scale)명을 수용할 수 있는 규모의 방입니다."
case 5...10:
//스케일이 5~10까지라면?
roomInformation = "\(name)은 중간 규모의 방이며, \(scale)명을 수용할 수 있는 규모의 방입니다."
case 11...20:
// 스케일이 11~20까지라면?
roomInformation = "\(name)은 큰 규모의 방이며, \(scale)명을수용할 수 있는 규모의 방입니다."
case 21...30:
//스케일이 21~30까지라면?
roomInformation = "\(name)은 별도의 예약이 필요한 방이며, \(scale)명을 수용할 수있는 규모입니다."
default:
// 디폴트를 통해서 위 네가지 이외의 변수가 발생할 때
// 해당값을 실행한다! 라고 모든 변수를 충족시켜줘야만 함!
roomInformation = "\(name) 이하의 방은 없습니다."
}
}
for (name, scale) in SeminaRooms {
let roomInformation:String
switch scale {
case 4:
roomInformation = "\(name)은 작은 방이며. \(scale)명을 수용할 수 있는 규모의 방입니다."
case 5...10:
roomInformation = "\(name)은 중간 규모의 방이며, \(scale)명을 수용할 수 있는 규모의 방입니다."
case 11...20:
roomInformation = "\(name)은 큰 규모의 방이며, \(scale)명을수용할 수 있는 규모의 방입니다."
case 21...30:
roomInformation = "\(name)은 별도의 예약이 필요한 방이며, \(scale)명을 수용할 수있는 규모입니다."
default:
roomInformation = "\(name) 이하의 방은 없습니다."
}
}
// 주석을 삭제한 코드 전문입니다.!
// 도움 되셨길 바랍니다!
2016/05/05 - [프로그래밍발전소 ♫] - 160505 Swift 구문편! if, for, switch 까지!
2016/05/05 - [프로그래밍발전소 ♫] - 160505 Swift Collection: Dictionary 와 Set
2016/04/25 - [프로그래밍발전소 ♫] - 160424 collection Array 편 :)
2016/04/23 - [프로그래밍발전소 ♫] - 160423 Swift Tuple, Typealias 편 ! :) 튜플과 타입얼라이어스
2016/04/20 - [프로그래밍발전소 ♫] - 160419 Swift part.2 String과 Numbers에 대해서
2016/04/19 - [프로그래밍발전소 ♫] - 160418 swift 란? 스위프트 언어에 대해서 알아봅시다. let과 var편
160507 Swift Optional 스위프트의 꽃 옵셔널! 마지막편! (0) | 2016.05.07 |
---|---|
160506 Swift Optional 스위프트의 꽃! 옵셔널에 대해 알아보자! (0) | 2016.05.07 |
160505 Swift Collection: Dictionary 와 Set (0) | 2016.05.06 |
160424 collection Array 편 :) (2) | 2016.04.25 |
160423 Swift Tuple, Typealias 편 ! :) 튜플과 타입얼라이어스 (1) | 2016.04.23 |
안녕하세요~ 에르의 생각발전소입니다 :)
이번 시간에는 Tuple 과 Typealias를 다뤄볼 건데요.
스위프트의 장점이고 장점인 만큼 많이 활용되는 파트이니,
주의깊게 살펴봐주세요!
자! 그럼 시작해보겠습니다.
상수로된 튜플인 time1을 생성하였고 2, 43, 1 이란 값들을 괄호 묶었습니다. (사진의 오타는 애교로..)
2란 값을 불러오고자하면 0을 42이라는 값을 불러오고자하면 1을 쓰시면 됩니다.
대게 첫번째 숫자니 1부터 시작할거라 생각을 하시고 실수를 많이들 하시는데,
시작은 0 부터 입니다! 참고해주세요!
튜플의 값에는 플롯, 스트링, 섞여들어가도 무방한데요.
예로 하나 만들어보았습니다.
language라는 스트링 타입의 값과. 11이라는 정수값은 가진 값이 ex라는 튜플안에 속해있는 모습니다.
똑같이 0,1,2 순번으로 시작됩니다.
물론 0, 1, 2 대신 문자로 변경이 가능한데요.
위 화면은 0,1,2 대신 hour, min, sec 로 변환시킨 모습입니다.
상황에 맞게 바꾼다면, 더 유용하겠죠?
튜플을 튜플로 또 묶는 건데요.
각 3개의 값을 가지고 있는 두 개의 튜플을 하나의 다른 튜플로 묶은 코드입니다.
일종의 사슬을 만들어준다고나 할까요?
begin이 time1, done이 time2 를 가지고 있는 모습입니다.
그럼 묶여있는 값중 최하위 값을 불러오고 싶다~고 하시면
file:///Users/Logan/Desktop/Screen%20Shot%202016-04-22%20at%2011.05.56%20pm 이런 컴퓨터디렉토리 주소처럼
done에 있는 hour값을 불러야겠죠?
done.hour은!?
done = > time2
time2:( hour:Int, min:int, sec:int ) = ( 1, 51, 15 ) => hour => 1
이라는 값이 나오게되겠죠?
이번에는 타입 얼라이어스입니다!
위 화면은 타입 얼라이어스를 설명하는 글입니다.
typealias AudioSample = UInt16 이다.
var maxAmplitudeFound = AudioSample.min 이면, 0이다.
왜냐하면 UInt16의 최저값은 0이니까요.
이 처럼 타입 얼라이어스는 다른 이름으로 존재하는 값을 정의합니다.
time 이라는 타얼을 만들어 (h:int, m:int, s:int) 라는 타입을 정의하고
period 라는 타얼을 만들어 start:time, end:time으로 타입을 정의했습니다.
period 타얼 안에 time의 타입이 들어갔지요?
let now:period = ( (6,20,13) , (11,2,56) ) 로 start:time에 값을 주고 end:time에도 값을 각각 부여했습니다.
그럼 time이 start와 end로 된 period안에 들어가있고 start = 6,20,13이며, end는 11,2,56이네요.
print("we played a game until \(now.end.h) today. ") 라는 코드를 입력해
값을 불러오고자한다면, 추적해봅시다!
now = period, period = (start:time. end:time) , end:time = 11,2,56 = h:11 , m:2, s:56 = h ==> 11
이라는 결론에 도달하게 되는거죠!
이해가 되셨는지요!
쉽쥬?
160505 Swift 구문편! if, for, switch 까지! (0) | 2016.05.06 |
---|---|
160505 Swift Collection: Dictionary 와 Set (0) | 2016.05.06 |
160424 collection Array 편 :) (2) | 2016.04.25 |
160419 Swift part.2 String과 Numbers에 대해서 (0) | 2016.04.20 |
160418 swift 란? 스위프트 언어에 대해서 알아봅시다. let과 var편 (0) | 2016.04.19 |
RECENT COMMENT