Swift로 코딩하면 이렇게 간단하게 해결되는 것들이 있습니다.

[swift]
protocol CheckRuby {
func times(block:()->())
}

extension Int:CheckRuby {
func times(block:()->()) {
for i in 0..self {
block()
}
}
}

10.times {
println(“Ruby가 아닙니다!”)
}
[/swift]

다 코드를 간결하게 작성할수도 있습니다.

[swift]
extension Int {
var hours:Int {
return self * 3600
}
var ago:Int {
return -self
}
func times(block:()->()) {
for i in 0..self {
block()
}
}
}

7.hours
7.hours.ago
7.times {
println(“hello world!”)
}
[/swift]

 

Facebook Comments

You may be interested

[Swift3] 폐쇄(Closure)에 대해 살짝 이해할 수 있는 팁
Swift 3.0
shares11 views
Swift 3.0
shares11 views

[Swift3] 폐쇄(Closure)에 대해 살짝 이해할 수 있는 팁

MJ Kim - 4월 29, 2017

몇몇 개발자를 만나 개발을 하다보면, 폐쇄(Closure)에 대해 이해를 하지 못해서 간단하게 바로 이해할 수 있는 팁을 정리해본다. 앱을 개발하다보면 https통신을…

[Swift3] UITextview의 keyboard 닫기
Swift 3.0
shares2 views
Swift 3.0
shares2 views

[Swift3] UITextview의 keyboard 닫기

MJ Kim - 4월 29, 2017

스토리보드에서 델리게이트를 선언하고 class에 UITextViewDelegate를 상속받아서 delegate=self를 viewDidLoad에서 설정하면 간단하게 해결되는데 가끔 헷깔려 하는 경우가 있어 적어본다. [crayon-59053d82ed3fe160238076/] [crayon-59053d82ed403061085647/] [crayon-59053d82ed405109515284/]…

스토리보드에서 다국어 지원 및 Xcode 8.3이상에서 이슈
Swift 3.0
shares5 views
Swift 3.0
shares5 views

스토리보드에서 다국어 지원 및 Xcode 8.3이상에서 이슈

MJ Kim - 4월 29, 2017

다국어 지원은 우선 Localizable.strings파일을 생성한 다음 언어를 지정한다. 그리고 필자가 자주 사용하는 일부 컨트롤들에 대한 확장(extension)을 추가한 다음 스토리보드에서 사용하는…