728x90 반응형 공부/Apple77 [스위프트] 이미지 평균 색 추출 스위프트에서 이미지뷰를 쓸때 이미지의 평균색을 추출하는 방법은 다음과 같다. extension UIImage{ var avgImageColor: UIColor? { guard let inputImage = CIImage(image: self) else { return nil } let extentVector = CIVector(x: inputImage.extent.origin.x, y: inputImage.extent.origin.y, z: inputImage.extent.size.width, w: inputImage.extent.size.height) guard let filter = CIFilter(name: "CIAreaAverage", parameters: [kCIInputImageKey: inp.. 2024. 1. 5. [스위프트] UIKit에서 UISegmented Control을 써보자 UIKit에서 세그먼트라는 게 있는데 오늘은 이 친구의 사용법을 알아볼 것이다. 세그먼트 Segmented Control이라고 치면 나오는 컴포넌트로 아래와 같이 생겼다. 선택지가 몇개 없을때 누르는 항목마다 바로바로 화면의 요소가 바뀌는 장면에 사용된다. Tab Bar보다는 적지만 그래도 많은 요소들(혹은 넓은 영역)이 한번에 바껴야 된다면 좋은 선택지이다. UISegmented Control 클래스에 속해있으며 sender 파라미터로 UISegmentedControl타입을 받는다. sender를 이용해 값의 변경을 유도할 수 있다. sender.selectedSegmentIndex 이걸로 현재 선택된 세그먼트를 감지한다.(0부터 시작한다.) 당연히 눌렀을때 IBAction도 지정할 수 있다.(눌렀을때.. 2024. 1. 4. [스위프트] final 메서드와 static 메서드 이전에 타입 메서드와 인스턴스 메서드의 비교를 해봤다.2024.01.03 - [공부/스위프트] - [스위프트] 인스턴스 메서드와 타입 메서드근데 타입 메서드에 대해서 생각하다 보면 이런 생각이 든다. "final class func와 static func와 똑같이 작동하지 않나?" 실제로 그렇다. 똑같이 작동한다. 적어도 내가 해봤던 테스트상으로는 그랬다. 하지만 실제로는 다른경우에 쓴다.근데 막 찾아봐도 정확히 어떨 때 쓴다는 말이 명확한 느낌으로 없다.내가 내린 결론은 단어에서 주는 뉘앙스 차이로 인해서 그렇다고 본다. final먼저 final 메서드는 타입 메서드로 쓸 때 "final 메서드명" 이런식으로 쓴다.이는 앞에서 static 타입 메서드 얘기할 때 말했듯이 오버라이딩이 안 된다.메서드 오.. 2024. 1. 4. [스위프트] 인스턴스 메서드와 타입 메서드 스위프트의 메서드에는 인스턴스 메서드와 타입 메서드 두 가지 종류가 있다. 이번에는 인스턴스 메서드와 타입 메서드, 이 두가지의 차이점에 대해 알아보자. 인스턴스 메서드 인스턴스 메서드란 우리가 흔히 쓰는 메서드이다. 왜 인스턴스 메서드냐면 인스턴스화 했을때 쓸 수 있는 메서드라 인스턴스 메서드다. 타입 메서드 타입 메서드란 흔히 static을 접두어로 붙이고 선언한 메서드를 말한다. (마찬가지로 static을 붙인 프로퍼티는 타입 프로퍼티가 된다.) 이는 클래스나 구조체가 타입으로 선언되니까 호출 시에 "클래스(구조체) 명. 메서드명" 이렇게 호출할 수 있어서 타입메서드이다.(프로퍼티도 똑같다.) 하지만 중요한 건 타입메서드에는 두 가지가 있다. static 메서드 class 메서드 static 메서드.. 2024. 1. 3. [스위프트] 복잡한 함수의 사용 스위프트에서 함수를 선언하고 쓰는 데에 정말 복잡한 경우가 있다. 바로 함수를 일급객체로 쓰는 경우다. 함수를 일급객체로 쓰면 변수 및 상수에 저장해 쓸 수 있다. // 이 함수의 타입은 (String, String) -> String 이다 func areYouKorean(name: String, food: String) -> String { return "\(name), 당신은 \(food)를 좋아하는 한국인입니다." } // 이 함수의 타입도 (String, String) -> String 이다 func areYouAmerican(name: String, food: String) -> String { return "\(name), 당신은 \(food)를 좋아하는 미국인입니다." } 일단 name과 r.. 2023. 12. 19. [스위프트] nil과 null 차이 스위프트에는 nil이 있습니다. 하지만 다른 언어에, 심지어 이전의 Objective-C에도 null이 있었습니다.(물론 obj-c에는 nil도 있었습니다.) 그렇다면 nil은 무엇이며 nil과 null의 차이는 무엇일까... 일단 기존의 obj-c에서 nil과 null들에 대해서 간단하게 살펴봅시다. NULL C pointer의 null nil Objective-C의 object들을 나타내는 null값 Nil Objective-C의 class들을 나타내는 null값 NSNull null을 표현하기 위한 싱글톤 오브젝트 뭐 그렇다고 합니다. 하지만 Swift에서는 위의 것들을 전부 없애버리고 nil만 남았다. Swift에서 nil은 값이 존재할지 안 할지 모르는 상태의, 아예 빈값("")도 없을 수 있는.. 2023. 12. 15. 이전 1 ··· 3 4 5 6 7 8 9 ··· 13 다음 728x90 반응형