Swift 11

Label 안의 attributeText 관련 유용한 NSMutableAttributedString extension - swift

UILabel에 여러개의 attributeText를 적용하다보니 가장 마지막에 작성된 속성만 적용되거나 레이블 선언부 혹은 기타 설정을 해주는 함수에서 코드가 매우 길어지게 되곤한다. let someLabel: UILabel = { let label = UILabel() label.textAlignment = .center label.font = .systemFont(ofSize: 16, weight: .bold) let colorAttribute = [ NSAttributedString.Key.foregroundColor: UIColor.blue] let attributedString = NSAttributedString(string: label.text!, attributes: colorAttribu..

Swift 2022.06.24

Class와 Struct에 대하여 간단정리 - Swift

구조체와 클래스는 OOP를 위한 필수요소로 프로그램 코드를 추상화하기 위해 사용한다. Q. 클래스/구조체로부터 A인스턴스를 생성하고, B인스턴스에 A인스턴스를 대입한 후 B인스턴스의 값을 변경하면? Class 참조 타입(referenceType) 이다. 하나의 복제된 데이터를 할당한 인스턴스들이 함께 공유한다. 참조타입의 인스턴스들은 하나의 복제된 데이터를 공유한다. (즉, B인스턴스에는 A인스턴스의 참조 값이 전달된다.) 매번 새로운 인스턴스를 만들 때마다 같은 메모리 주소를 참조한다. - 상속이 가능하다. - 프로토콜 사용 가능하다. - extension 을 할 수 있다. - subscript 사용 가능하다. - 타입캐스팅이 가능하다. - Reference Count 계산에 포함된다. ex) clas..

Swift 2022.04.12

문자열에서 특정문자"들"을 다른 문자로 치환하는 방법 - Swift

옛날에 코테 문제풀 때 다른 방법이 있었던 것 같은데.. 기억이 안나서 extension하나 만들었습니다 extension String { func replaceTargetsToReplacement(_ occurs: [String], _ replacement: String) -> String { var converted = self for occur in occurs { converted = converted.replacingOccurrences(of: occur, with: replacement) } return converted } } 다른 방법 아시는 분 있으면 댓글로 알려주세요! 🙏🏻

Swift 2021.10.23

문자열에서 특정문자"들"을 원하는 문자로 치환하는 방법 - Swift

replacingOccurrences(of: 치환하고싶은문자, with: 치환하고자하는 문자) var text = "해리 포터: 불의 잔" text = text.replacingOccurrences(of: " ", with: "_") print(text) // "해리_포터:_불의_잔" https://developer.apple.com/documentation/foundation/nsstring/1412937-replacingoccurrences Apple Developer Documentation developer.apple.com 틀린부분이 있거나, 더 좋은 방법이 있다면 댓글로 남겨주세요! 🌈댓글은 언제나 환영입니다🙏🏻

Swift 2021.10.23

최대공약수, 최대공배수 구하는 함수 - swift

최대 공약수 ( Greatest Common Divisor ) 주어진 숫자를 소인수 분해해서 나오는 수들을 '약수'라고 한다. 예를 들어 12의 약수는 [1, 2, 3, 4, 6, 12] 이다. 18의 약수는 [1, 2, 3, 6, 9, 18] 이다. 여기서 공통된 약수들을 '공약수' 라고 부른다. 12, 18의 공약수는 [1, 2, 3, 6] 이다. 공약수 중에 가장 큰 수를 '최대 공약수'라고 부른다. (위의 예시에서는 공약수 중에 가장 큰 수가 6이므로 최대공약수는 6 이다.) 최대 공약수는 다음과 같이 구한다. func GCD(_ min: Int, _ max: Int) -> Int { let rem = min % max if rem == 0 { // 나머지가 0인 수. 즉, 약수를 의미한다. re..

Swift 2021.09.30

sort, sorted의 차이는 무엇일까? - swift

sort 는 단어의 뜻 그대로 정렬해주는 메서드 입니다. sort가 들어간 메서드는 " sort() sort(by: ) sorted() sorted(by: ) " 이렇게 4개가 있습니다. 아래의 정수 배열과 문자열 배열을 예를 들어서 정리해 볼게요 :) var nums: [Int] = [7, 6, 9, 2, 4, 5, 1, 8, 3] var names: [String] = ["break", "fast", "car", "apple", "drive", "ensure", "gear"] 하나씩 사용해보면서 차이점을 알아봅시다! . . . . . 항상 그렇듯 일단 apple documentation을 먼저 꼭 확인해봅시다. sort() sort는 Comparable을 만족하는 Element를 정렬하는 인스턴스 메..

Swift 2021.09.30

클래스, 인스턴스, 객체가 도대체 뭡니까. - swift

원래는 초기화(initialization)에 대해 정리해보면서 포스팅을 하려고 했습니다 🤔 초기화의 정의부터 살펴보는데 . . . "초기화는 클래스/구조체/ 연거형의 인스턴스를 사용하기 위한 준비과정이다. 초기화가 완료된 인스턴스는 사용 후 소명 시점이 오면 소멸한다." . . . 내가 막연하게는 알고 있지만, 인스턴스의 개념에 대해 잘 알고있나..? 라는 생각이 들어 인스턴스에 대해서 먼저 정리해 보려합니다~! 인스턴스란, 클래스에서 생성된 객체를 말하는데, 정의된 클래스를 실제로 사용하는 것을 인스턴스라고 보면 됩니다. (= 실제로 메모리에 할당되어 동작할 수 있는 모양을 갖춘 것!) 그럼 여기서 또 줄줄이 소세지처럼 헷갈리는 개념들이 나오죠. "객체..? 객체는 또 뭐지.. 클래스는 또 뭐지..🥲"..

Swift 2021.08.20

소수점 제거 (올림 / 버림 / 반올림 ) 관련 함수 - swift

코딩테스트 문제를 풀 던 중에 소수점을 버려야 하는 경우가 발생해서 찾아보던 중 내용정리를 해두면 좋을 것 같아 간단하게 정리해보려 합니다! 각각의 함수의 공식 문서와 playground에서의 테스트 결과를 작성하였습니다🤔 ( 소수점 자리의 수가 5미만, 5, 6이상 인 경우, 이렇게 3가지 숫자로 테스트를 진행하였습니다. ) 소수점 올림 : ceil() ceil() 함수는 소수점 아래의 숫자가 있으면, 소수점 아래를 다 버림 처리하고 정수부에 1을 더해주는 함수입니다. ( * SIMD2 란? : "A vector of two scalar values."로, 두 스칼라 값의 백터값을 의미합니다. ) ceil함수를 테스트~ 그 결과는? 세 가지 경우에서 모두 소수점 올림이 잘 이루어진 걸 볼 수 있네요! ..

Swift 2021.07.22

주어진 문자열이 문자로만 이루어져 있는지 체크하는 함수 만들기 - swift

swift5에서 character의 속성이 추가 되었다. 그 중에서 character가 문자인지 확인하는 isLetter 를 사용하여 문자열 전체가 문자로만 이루어져 있는지 확인하는 코드를 작성해 보았다. . . . func isAlphabet(_ str: String) -> Bool { let arr = str.map{ String($0) } // map을 사용하여 문자열을 배열로 변환. for i in 0.. Bool { for char in str { if !char.isLetter { return false } } return true } 틀린부분이 있거나, 더 좋은 방법이 있다면 댓글로 남겨주세요! 🌈댓글은 언제나 환영입니다🙏🏻

Swift 2021.07.22

readLine()을 통해 키보드로 입력받기 - swift

xcode에서 키보드로 부터 값을 입력받는 방법을 알아보자! swift에서는 readLine() 함수를 통해 키보드로부터 입력값을 받아올 수 있다. . . . 공식문서 항상 공식문서를 먼저 보는 습관을 들이자. 공식문서를 보면.. " EOF까지 혹은 현재 줄의 끝에 도달할 때까지의 표준입력을 읽어 문자열로 리턴한다. " 라고 되어있다. (EOF란, End-Of-File의 약자로 파일의 끝을 의미한다.) 근데 자세히 보니 리턴값이 옵셔널 문자열 이다. 한번 실습을 통해 연습해보자. 실습준비 표준 입력을 받고자할 때는 프로젝트를 생성하고 작성해야 한다. (playground는 샌드박스이기 때문에 input이 없다고 한다. 그래서 actual application을 통해서만 input을 받을 수 있다.) 실습..

Swift 2021.07.19
반응형
1 2