앱등이에게 살충제를 뿌린다./Swift
-
[Functional Programming in Swift] Functor 이자 Monad 이다.는 무슨의미일까?앱등이에게 살충제를 뿌린다./Swift 2017. 12. 6. 17:19
어떤 Context가 Functor이자 Monad이다. 라는 말은 무슨뜻일까? Context의 Value를 map으로 transform하는 경우 Functor라고 할 수 있다.Context의 Value를 flatMap으로 transform하는 경우 Monad라고 할 수 있다. 따라서 어떤 Context가 Functor이자 Monad인 경우는 Value의 transform을 할 때, map, flatMap 둘 모두를 사용 가능할 때 쓰는말이다.Ex) Optional은 Functor이자 Monad인 Context이다. [까먹을까봐 메모 겸 작성]
-
[Swift3의 Access Control] - open Class가 뭐야?앱등이에게 살충제를 뿌린다./Swift 2017. 1. 11. 15:32
UIApplication클래스의 shared라는 프로퍼티를 찾아보니 이렇게 적혀있었다. open class UIApplication : UIResponder { open class var shared: UIApplication { get } // ... } 그래서 open class가 뭔지를 찾아보니 이렇게 꿀정리가~ 스위프트 3 액세스 제어기존의 private은 정의한 스코프(scope)내에서 즉, 같은 중괄호 { } 내에서만 접근을 허용하도록 좀 더 엄격한 의미로 바뀌었습니다. 대신 새로운 fileprivate가 추가되었고 기존의 스위프트 2에서의 private과 같은 의미로 사용됩니다.보통 이전에 private 으로 정의된 변수나 메서드는 같은 소스파일에 정의된 익스텐션에서 접근할 수 있었으나 더 ..
-
[Swift] Swift로 유닛테스트를 하려면? How to Unit-test in Swift?앱등이에게 살충제를 뿌린다./Swift 2017. 1. 9. 19:11
Writing Tests with SwiftThe Swift access control model prevents tests from accessing internal declarations in the app or framework. To access internal functions in Swift with Xcode 6, you need to make these entry points public for testing, reducing the benefits of Swift’s type safety.Xcode 7 provides a two-part solution for this problem:Swift internals are made accessible when building for testi..
-
[Raywenderlich] Swift3에서 달라진 점 ( What's new in Swift3? )앱등이에게 살충제를 뿌린다./Swift 2017. 1. 1. 21:25
API 변경첫 번째 파라미터의 이름Swift2에서 첫 번째 파라미터 이름은 생략하는 것이 일반적이었습니다. 하지만 Swift3에서는 첫 번째 파라미터의 이름도 표기합니다. [SE-0046] 기존에는 메소드명에 표기되던 'in', 'of', 'to' 등의 전치사가 메소드의 이름에서 사라지고 파라미터의 이름으로 사용됩니다. 이를 통해 가독성이 좋아졌습니다.첫 번재 파라미터가 필요없다고 판단되면 언더바(_)를 통해서 생략시킬 수 있습니다. 불필요한 단어 삭제기존의 애플 라이브러리에는 메소드의 리턴타입, 파라미터 등이 메소드 이름에 표기되어 있었습니다.(stringByAppendingString처럼) 컴파일러가 알아서 타입체킹을 해주기 때문에 이런 작업은 무의미한데요. 그래서 Swift3에서는 이런 무의미한 단..
-
[Swift] static 함수와 class 함수! static func vs class func앱등이에게 살충제를 뿌린다./Swift 2016. 7. 20. 00:27
class func vs static func Objective-C를 사용하면 함수를 선언할 때, 플러스(+)부호와 마이너스(-)부호를 붙여준다. +부호는 클래스메소드, -부호는 인스턴스메소드.즉, -부호를 붙인 메소드는 객체를 생성해야만 사용할 수 있고, +부호는 객체가 아닌 클래스를 통해 호출하는 메소드이다. 이와 유사한 작동이 Swift에서도 물론 제공된다.바로 static키워드와 class키워드이다. 생긴건 유사해 보인다.두 키워드의 기능에 대한 설명은 생략하고 차이점에 대해서 짚어보도록 한다. Q. static func와 class func의 차이점은 무엇인가요? 보기엔 static은 struct, enum에서 선언할 때 사용하고 class은 클래스나 프로토콜에서 사용하는것처럼 보이는데요.. 맞..
-
[Swift] String의 subString을 subscript로 구현해보자.앱등이에게 살충제를 뿌린다./Swift 2016. 5. 1. 18:18
Swift의 String은 substring기능이 참 부족한 것 같은데,편하게 String을 extension하여 subscript로 만들어보자. /* "abcde"[0] === "a" "abcde"[0...2] === "abc" "abcde"[2.. Character { return self[self.startIndex.advancedBy(i)] } subscript (i: Int) -> String { return String(self[i] as Character) } subscript (r: Range) -> String { let start = startIndex.advancedBy(r.startIndex) let end = start.advancedBy(r.endIndex - r.startInd..
-
[Swift] Objective-C 오픈소스(AFNetworking 2.0)를 Swift에 적용시켜보자앱등이에게 살충제를 뿌린다./Swift 2016. 3. 21. 00:28
AFNetworing을 사용해보려고 다운을 받았는데, Objective-C로 되어있네요.스위프트에 적용시키는 법을 알아봅시다. 1. Build Settings - Defines Module을 YES로 설정해줍니다. 2. bridge.h 파일을 하나 만들어 줍니다.(저 밑줄 부분만 적어주시면 됩니다.) 3. Build Settings - Swift Compiler - Objective-C Bridging Header에서 작성한 파일명을 넣어주세요. 4. 교감 끝 5. 진짜 끝 출처 : http://stackoverflow.com/questions/24120402/swift-and-afnetworking-integration