오늘 질의응답까지 알찬 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)과 같은 문자 검색후 출력가능