검색결과 리스트
optional binding에 해당되는 글 2건
- 2016.05.08 160507 Swift Function 이번엔 프로그래밍의 꽃! 함수편!
- 2016.05.07 160507 Swift Optional 스위프트의 꽃 옵셔널! 마지막편!
안녕하세요~ 에르의 생각발전소입니다 :)
옵셔널은 잘 끝내셨나요?
이번 시간에는 함수에 대해서 겉만 살짝 다루보도록 하겠습니다.
저번에 이용한 코드를 그대로 가져와서,
응용해보도록하겠습니다 :)
let Movie : String = "Death Note"
var ratings : [Double]? = nil
var officialUrl = "www.deathnote.com"
ratings = [4.5, 3.5, 2.5, 1.5, 4.5, 0.5]
// ratings에 값을 초기화시켜보도록하겠습니다!
func funcratings (history:[Double]) -> (average:Double , min:Double, max: Double) {
// history:[Double] 더블타입으로 평균, 최소값, 최대값을 지정해준다.
var sum = 0.0, min = history[0], max = history[0]
// sum 은 모든 값을 더할 것이고~
// min과 max는 히스토리의 첫번째 값을 가진다!
for value in history {
// for~ in문을 돌려봅시다!
if min > value { min = value }
// 만약 최소값이 값보다 크다면, 그 값이 최소값을 가진다.
if max < value { max = value }
// 최대값이 값보다 작으면 그 값이 최대값이 된다.
sum += value
// sum에는 모든 값들을 더한다.
}
let average = sum/Double(history.count)
// 평균은 sum에 history의 카운트 갯수로 나누어서 평균값을 구한다.
return (average, min, max)
// 그리고 return값으로 평균 최소 최대값을 반환한다!
}
var movieInfo: String = "\(Movie)"
if let conratings = ratings {
let history = funcratings(conratings)
// 이제 history는 funcratings이며! funcratings는 conratings이다!
movieInfo += "has \(conratings.count) ratings. \r\n average is \(history.average) from \(history.min) to \(history.max) ."
// \r\n는 한줄띄우기! 백슬레쉬에요 저번에 정슬레쉬로 설명드렸는데,
// 사실은 백슬래쉬였답니다..어찌됬건
}
movieInfo += "\r\n let's contact our page : \(officialUrl)"
print("\(movieInfo)")
Death Notehas 6 ratings.
average is 2.83333333333333 from 0.5 to 4.5 .
let's contact our page : www.deathnote.com
//라는 최종적인 결과를 표출하였습니다.
// 함수는 일종의 도구이며,
// 본인 스스로에게 적합한 도구를 만들어, 적절한 시기에 사용하시면 됩니다!
// 함수를 얼마나 잘 만드냐, 적절하게 잘 설계를 하냐는 다~ 개발자의 재량이며, 가치입니다.
// 고로, 열심히 공부하여, 우리의 가치를 증진시켜봅시다 :)))
160512 Swift 단순 구문 , 흐름 제어 구문 for , for ~ in구문 :) (0) | 2016.05.13 |
---|---|
160512 Swift Function 스위프트 함수편! (0) | 2016.05.12 |
160507 Swift Optional 스위프트의 꽃 옵셔널! 마지막편! (0) | 2016.05.07 |
160506 Swift Optional 스위프트의 꽃! 옵셔널에 대해 알아보자! (0) | 2016.05.07 |
160505 Swift 구문편! if, for, switch 까지! (0) | 2016.05.06 |
안녕하세요~ 에르의 생각발전소입니다 :)
이번 시간에는 옵셔널의 마지막편입니다!
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 |
RECENT COMMENT