Swift TIL(54)

웰디(Well-D)·2023년 10월 19일
0

Sweet & Soft, SWIFT

목록 보기
52/76
post-custom-banner

스터디

오늘 질의응답까지 알찬 2시간(최장기록!) 이었다.
스터디 준비하는 시간도 응축해서 약 2시간..잘 정리되었고, 준비해갔던 부분 (함께 공유하면 좋을 것 같은 내용) 도 준비한 만큼 설명하고 조금이라도 이해할 수 있어서 좋았다.
확실히 여러명이 스터디하면 스타일도 다르니까 보지 못하던 부분도 볼수있다는 장점이 있다! 이럴때 아니면 또 언제 이렇게 자세히 뜯어보고, 토론해볼 수 있을까 싶었던 시간이었다.

확실히 메모리구조, 클로져 , 캡쳐현상, 강한참조 약한참조 등은 다들 좀 혼동이 많이 올수있는 부분인것같은데 월요일세션, FAQ준비, 복습, 오늘 스터디 등등 을 통해서 좀 더 명확해지고 복습이 많이 되는 것 같아 좋았다. (물론 앱만들기로 실전에 들어가면 또 느낌이 다르겠지만 ㅎㅎ )
근황공유도 하고, 동기부여도 되고 새롭게 알아가는 사실도 많아서 알찼던 스터디

복습

드디어 긴 문자열의 끝, 많이하진 못했지만 끝낸것에 의의를

사실 이부분은 (어제 범위도 그렇고) 직접사용하면서 + 찾아쓰는 개념에 가까워서, 왜 이렇게 쓰는지만 문법적으로 이해 + 키워드위주의 사고 를 가지면 좋을 것 같다

가볍게 정리

문자열 비교

  • 단순비교 => 대소문자 비교 무시하는 여러가지방법

  • 대소문자 무시 비교메서드 caseInsensitiveCompare 메서드 => 리턴형 NSComparisonResult (내부 열거형 구현 => switch 문과 함께 사용 / 내부 case를 비교하는 비교 연산자와 함께사용 )

  • 단순비교메서드 compare 메서드 => options로 다양한 옵션 배열로 추가가능(NSString.CompareOptions가 OptionsSet프로토콜을 채택했기 때문) / NSString.CompoareOptions 구조체 내부의 타입속성으로 이미 많은 비교조건 속성들이 만들어져있음 => 찾아쓰기 (예를들어 접두어비교, 접미어 비교 등)

  • 문자열 일부포함여부 및 앞뒤글자를 반환하려면 어떤 메서드를 쓸수있을까?

  • 정규식 정규표현식 / range(of: )와 함께 사용, 단 options에 정규식임을 표현하기 필수

  • 정규식 보통 rawString 방식으로 전달 #

  • 특정문자열 검색 후 제거 => 검색기준 CharacterSet활용가능 ( 구조체로 된 문자집합 /유니코드 기준임 / 특정문자세트가 미리 만들어져있음 => 가져다쓰면됨 => 배열에 손수구현보다 깔끔 +편리 / 예: .symbols)

  • 앞뒤특정문자 제거 trimmingCharacters(in: CharacterSet )=> 새로운 문자열 반환

  • 중간특정문자 제거 components(seperatedBy: CharacterSet) => 문자열의 배열을 출력 => 다시 joined()메서드로 묶어서하나의 배열로 만드는 작업필요

  • 중간특정문자 제거 split(seperator: ) => 서브스트링 타입 문자열 배열 출력 => joined()메서드로 배열로 묶기

  • 특정문자열 검색 rangeOfCharacter(from: CharacterSet) => 나온 범위(옵셔널)를 unwrapping하여 서브스크립트문법으로 전달(예: name[range]) => 특정조건(CharacterSet)과 같은 문자 검색후 출력가능

profile
Wellness 잘사는 것에 진심인 웰디입니다. 여러분의 몸과 마음, 통장의 건강을 수호하고싶어요. 느리더라도, 꾸준히
post-custom-banner

0개의 댓글