분류 전체보기
-
[Cocoapods] podfile에서 버전을 관리하는 키워드앱등이에게 살충제를 뿌린다./iOS 2017. 1. 16. 00:05
podfile에는 아래와 같이 프레임워크의 이름과 버전을 지정한다. pod 'Alamofire', '1.0.0'Alamofire프레임워크의 1.0.0버전을 사용한다는 뜻이다. 하지만 어떤 버전을 사용할지는 이렇게 Static하게 지정할 수도 있지만 키워드를 사용해 Dynamic하게 변경할 수도 있다. = 0.1 0.1버전을 사용> 0.1 0.1버전이후에 나온 최신버전을 사용>= 0.1 0.1버전 또는 그 이후에 나온 최신버전을 사용= 0.1.2 와 < 0.2.0가 결합되었다고 생각하면 된다. 출처 : http://guides.cocoapods.org/syntax/podfile...
-
[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..
-
XCode의 The Basic of Unit Test - 유닛테스트 기본앱등이에게 살충제를 뿌린다./일기는 일기장에 2017. 1. 9. 18:35
Writing Test MethodsYou add tests to a test class by writing test methods. A test method is an instance method of a test class that begins with the prefix test, takes no parameters, and returns void, for example, (void)testColorIsRed(). A test method exercises code in your project and, if that code does not produce the expected result, reports failures using a set of assertion APIs. For example,..
-
[Raywenderlich] UIStackView 튜토리얼. (UIStackView Tutorial: Introducing Stack Views)앱등이에게 살충제를 뿌린다./iOS 2017. 1. 5. 02:06
런타임에 뷰를 추가/삭제하는 상황을 생각해봅시다. 물론 추가/삭제된 뷰와 근처에 있던 뷰들의 위치도 잘 잡아주어야 합니다.어떤 방법이 있을까요? 스토리보드에 새로운 뷰와 관련된 Constraint Outlet을 추가하고 active를 on/off 하면 될까요? 아니면 오픈소스? 직접 코드로 구현할 수도 있겠네요. 이 경우 View Hierarchy가 변하는 것은 아니지만 어떻게든 새로운 뷰를 스토리보드에 넣으려면 많은 고민이 들겁니다. 뷰를 추가/삭제할 때마다 모든 Constraints를 제거하고 새로운 Constraints를 추가하는 방법을 떠올릴 수 있겠네요. 이게 기존 Constraints를 수정하는것보다 쉽긴 하죠. 하지만 UIStackView가 있다면, 위 작업이 꽤나 간단해집니다. 스택뷰를 사..
-
[Raywenderlich] Swift3에서 달라진 점 ( What's new in Swift3? )앱등이에게 살충제를 뿌린다./Swift 2017. 1. 1. 21:25
API 변경첫 번째 파라미터의 이름Swift2에서 첫 번째 파라미터 이름은 생략하는 것이 일반적이었습니다. 하지만 Swift3에서는 첫 번째 파라미터의 이름도 표기합니다. [SE-0046] 기존에는 메소드명에 표기되던 'in', 'of', 'to' 등의 전치사가 메소드의 이름에서 사라지고 파라미터의 이름으로 사용됩니다. 이를 통해 가독성이 좋아졌습니다.첫 번재 파라미터가 필요없다고 판단되면 언더바(_)를 통해서 생략시킬 수 있습니다. 불필요한 단어 삭제기존의 애플 라이브러리에는 메소드의 리턴타입, 파라미터 등이 메소드 이름에 표기되어 있었습니다.(stringByAppendingString처럼) 컴파일러가 알아서 타입체킹을 해주기 때문에 이런 작업은 무의미한데요. 그래서 Swift3에서는 이런 무의미한 단..
-
Swift에서는 왜 Import 헤더를 하지 않아도 되는 것일까?앱등이에게 살충제를 뿌린다./고무망치를 도와라 2016. 12. 28. 16:39
Objective-C에서는 다른 클래스를 사용하기 위해서 import "AnotherClass.h"와 같은 헤더를 참조시켜야 했다.하지만 Swift에서는 import문을 사용하지 않고 다른클래스를 자유롭게 사용할 수 있다. 이유가 뭘까? Swift에서는 프로젝트 전체가 네임스페이스의 범위로 지정되기 때문이다.또는컴파일러가 알아서 해주기 때문이다..라고 이해해도 될 듯 하다. 출처 : https://teamtreehouse.com/community/hi-i-wanted-to-know-how-come-we-dont-need-to-import-the-factbookswift-at-the-top-of-the-viewcontroller-thanks