출처http://kka7.tistory.com/5 Swift 의 String 타입은 Foundation 의 NSString 클래스와 bridged 되어있다.Foundation 은 NSString 에 의해 정의된 메소드들을 사용하기 위해 String 을 확장한다.이는 Foundation 을 포함하면 String 에서 변환(casting) 없이 NSString 메소드를 접근할 수 있다는 의미이다. 문자열 선언 let someString = "Some string literal value" 빈 문자열 초기화var emptyString = String() var anotherEmptyString = "" if emptyString.isEmpty { print("empty string") } 문자열은 값 타입이다..
출처http://kka7.tistory.com/4 할당 연산자 ( = )할당 연산자는 a 의 값을 b 의 값으로 초기화 하거나 갱신한다.우측이 어려 값을 갖는 튜플이면 한번에 여러개의 상수나 변수 요소들로 분해할 수 있다. let (x, y) = (1, 2) Objective-C 와 다르게Swift 에서의 할당 연산자는 값을 반환하지 않는다. if x = y { // This is not valid, because x = y does not return a value. } 이 기능은 할당 연산자가 우연치 않게 동등 연산자로 사용되는 것을 막아주기 위해 도입되었다. 산술 연산자 ( + , - , * , / )Objective-C 와는 다르게 Swift 는 기본적으로 overflow 값을 허용하지 않는다.S..
출처http://kka7.tistory.com/2 옵셔널 (Optional) Optional 은 Objective-C 에서 포인터에 nil 을 사용하는 것보다 안전하고 쓰임새가 많으며Swift 의 강력한 기능들 중에 핵심이다. 옵셔널은 값이 없을 수 있는 상황에서 사용한다.옵셔널은 두가지 가능성을 표현한다. - 값이 있고, 값에 접근하기 위해 옵셔널은 unwrap 할 수 있다.- 값이 전혀 없다. 옵셔널의 개념은 Objective-C 에서는 없다.가까운 것으로는 메소드가 nil 을 반환하거나 객체를 반환하는 것이며nil 은 유효한 객체가 없다라는 것을 의미한다. 하지만, 이것은 객체에 대해서만 동작한다.구조체, 기본적인 C 타입, 열거형의 값에 대해서는 동작하지 않는다. Swift 의 옵셔널은 특별한 상..
출처http://kka7.tistory.com/2 상수와 변수선언상수는 let, 변수는 var 를 이용해 선언한다. let maximumNumberOfLoginAttempts = 10 var currentLoginAttempt = 0 var x = 0.0, y = 0.0, z = 0.0 타입을 명시 var welcomeMessage: String var red, green, blue: Double 상수나 변수 출력print( ... ) 함수를 이용한다.Swift 에서는 문자열 끼워넣기 (string interpolation) 을 사용하여긴 문자열에서 자리표시자(placeholder) 처럼 상수나 변수의 이름을 포함하여 표시할 수 있다. var currentLoginAttempt = 0 print(curr..
결론Queue 의 동작과 Thread 와는 관계가 없다. dispatch_sync 로 실행했다면 실행한 Thread 에서,dispatch_async 로 실행했다면 WorkerThread 에서 동작한다. Queue type 이 SERIAL 인지 CONCURRENT 인지는 중요하지 않다. Test codeSerial Queue dispatch_queue_t serialQueue = dispatch_queue_create("serial", DISPATCH_QUEUE_SERIAL); dispatch_sync(serialQueue, ^{ NSLog(@"serialQueue_sync : %@", [NSThread isMainThread] ? @"YES" : @"NO"); //YES }); dispatch_async..
Carthage 를 사용하는 이유가장 처음에는 XCode 에서 지원하는 Static Library 를 썼었다.이후 CocoaPods 이 나오면서 새로운 버전 관리 방식과 implementation source 를 함께 볼 수 있는 큰 장점으로많은 사람들이 이동했다. 하지만 시간이 지날수록 개발자들은 불편함을 느꼈다. 그 이유로는 첫째, 소스를 모두 받아서 컴파일 시 함께 빌드하는 방식을 사용한다.따라서 프로젝트에 다른 open source 들을 많이 사용한다면 (dependency 가 높다면)컴파일 속도가 현저히 느려지게 된다. 둘째, .workspace 라는 개념이 생겼다.원래 프로젝트에 더해 Pods 프로젝트가 생기게 된다.pod update 를 하게 되면 Pods 프로젝트와 내 프로젝트 모두에 영향..
우선 코드 사이닝의 가장 중요한 개념은 오직 애플만이 자신들의 하드웨어에서 어떤 소프트웨어가 동작하도록 허락할 수 있다. 실제로 매번 앱이 실행될 때마다 앱은 애플로부터 인증을 받았는지즉, 앱을 실행할 수 있는 권한을 가지고 있는지 확인한다. 1. Apple 인증서 애플만이 앱을 실행할 권한을 가진다면, 개발자들은 어떻게 디바이스에서 테스트할 수 있을까?해답은, 애플이 개발자를 신뢰하여 애플 대신 앱을 실행할 수 있는 권한을 부여받는다. 인증서의 역할은 개발자가 애플 대신 앱을 사인할 수 있는 권한을 가지게한다. 인증서는 "키체인 접근" 앱에서 만들 수 있는데, 여기서 Certificate Signing Request (CSR) 을 생성해야한다. 1. "키체인 접근" 앱은 공개키와 개인키를 자동으로 생성..
텍스트키트는 iOS 7의 일부분으로 발표되었으나 전통적 의미의 프레임워크는 아니다.기존의 클래스들을 강화하여 NSAttributedString 을 쉽게 다룰 수 있게 설계되었다. NSLayoutManager NSTextStorage 클래스의 객체에 저장되어 있는 문자들의 레이아웃과 출력을 담당한다.복잡한 텍스트 레이아웃을 생성하기 위해여러 개의 UITextView 객체를 함께 이용해 렌더링할 때도 이용할 수 있다.NSLayoutManager 는 NSTextContainer 클래스의 객체를 추가, 삭제, 정렬 등의 작업을 할 수 있는 여러 메소드들을 가지고 있다.또한 NSTextStorage 객체를 프로퍼티로 갖고 있다. 동적 링크 탐지 UITextView 에서 가능하며 (UILabel 은 불가).xib ..
코어 이미지는 이미지나 비디오에서 얼굴이나 얼굴의 특징을 탐지할 수 있는 기능을 제공한다. 안면 인식기 설정 코어 이미지에서 안면 인식기를 사용하려면 CIImage 객체가 필요하다. UIImage *detectUIImage = [self.sourceImageView image];CGImageRef detectCGImageRef = [detectUIImage CGImage]; CIImage *detectImage = [CIImage imageWithCGImage:detectCGImageRef]; NSDictionary *options = @{CIDetectorAccuracy : CIDetectorAccuracyHigh}; CIDetector *faceDetector = [CIDetector detector..
Core Image Filter 코어 이미지 필터는 입력 이미지와 필터의 동작을 설정하는 옵션을 매개변수로 사용한다.적용할 필터의 리스트를 지정하면 각필터를 지정했을 때계산을 실행하는게 아니라 최종 출력 이미지를 요청할 때만이 필터들을 한꺼번에 모두 적용한다. 필터 카테고리와 필터 코어 이미지 필터는 내부적으로 카테고리 단위로 구성된다.한 필터는 하나 이상의 카테고리에 속할 수 있다.카테고리를 이용해서 원하는 작업에 어떤 코어 이미지 필터들이 필요한지 결정할 수 있다. CategoryKey 를 이용하여 CIFilterArray 를 구할 수 있다.(https://developer.apple.com/library/content/documentation/GraphicsImaging/Reference/CoreI..
- Total
- Today
- Yesterday
- docker
- AWS
- string
- NSManagedObjectContext
- EffectiveObjectiveC
- RunLoop
- CGImage
- set
- CIImage
- NSManagedObjectModel
- workerThread
- NSManagedObject
- Swift 3.0
- optional
- Swift3
- coredata
- Block
- Swift
- dictionary
- Swfit
- applicationWillResignActive
- Arc
- 꺼내먹어요
- UIView
- thread
- ios
- 읽기 좋은 코드가 좋은 코드다
- delegate
- Swift 3
- HTTP
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |