본문 바로가기

728x90

난 iOS개발자/iOS

(34)
RTL 서비스 국가에 따라 텍스트 또는 UI배치가 좌우 반전이 되야할 때도 있다. 아랍문화권의 국가는 글을 작성할 때 좌에서 우로(Left-to-Right) 작성하는 것이 아닌 우에서 좌로(Right-to-Left) 작성하는데 이에 따라 앱에서도 좌우반전을 시켜줘야 하는것이다. 해당 국가로 서비스를 하려면 당연히..! 우리나라도 100년 전까지만 해도 RTL방식으로 글을 작성하고 있었다고 한다. https://hyperconnect.github.io/2020/05/30/MENA-service-cautions-part1.html MENA(중동 및 북아프리카) 지역 서비스 개발 시 고려해야 할 문화 차이 아랍 문자를 사용하는 지역에 서비스를 런칭하기 위해 신경쓰면 좋은 점들을 소개합니다. hyperconnect.g..
개행(\n) 없이 두 줄 이상의 문자열 할당하기 보통 문자열을 표현 할 때, 앞뒤로 " (큰따옴표)를 붙여서 문자열을 만든다. 이때 개행을 하려하면 문자열 중간중간에 \n(newLine)을 삽입해줘야 하는데 , \n삽입 없이 큰따옴표 세개를 앞뒤에 붙이면 따로 개행문자를 넣지 않고도 똑같은 표현이 가능하다. 들여쓰기는 마지막 큰따옴표에서 왼쪽 정렬기준으로 보면되는데 아래 그림을 보면 이해하기 쉽다. 아래 그림은 print를 통해 문자열을 콘솔로 나타냈다.
String Extension 문자열 자르기1 extension String { func substring(from: Int, to: Int) -> String { guard count > from, from >= 0, to >= from else { return "" } let startIndex = index(self.startIndex, offsetBy: from) let endIndex = index(self.startIndex, offsetBy: to + 1) return String(self[startIndex.. Character { return self[self.index(self.startIndex, offsetBy: index)] } subscript(_ range: Range) -> String { let from..
Closure와 객체의 생명주기의 관계 Closure의 중첩 시 weak은 어디까지 self를 붙잡아(강한 참조) 두는가? 표현할 수 있는 적절한 말이 무엇인지는 잘 모르겠다. Swift의 closure를 사용할 때 Capturing이 되면서 self(객체)의 강한 참조가 발생한다. 이때 강한 참조 인해 발생하는 문제들을 피하기 위해 weak을 사용하여 약한 참조 형태로 self에 접근하는 것이 일반적인 방법이다. 그렇다면 중첩된 closure는 weak의 위치에 따라 어떻게 동작할까? 만약 아래와 같은 코드를 작성했을 때 weak이 사용되는 위치에 따라 어떤 결과가 나오는지 확인해보려 한다. Case 1. escaping Closure를 받는 메서드를 호출했을 때 위치 1을 보면 loadContentFromSource를 호출하는 첫 번째 클..

728x90