반응형

개발 관련/iOS SWIFT 27

[Swift] Protocol 프로토콜이란?

안녕하세요 맥파이입니다. 오늘은 대망의 protocol입니다. 프로토콜이라는건 많이 들어도 보고, 어렵기도 하고 피하고만 싶어질수 있습니다. 어느 누군가가 만들어 놓은 프로토콜 코드를 보면 몸서리쳐 질수도 있기 때문입니다. 상속도 아닌것이 괜히 복잡하게만 보일수 있기 때문이죠. 이제 시작해봅시다. protocol 프로토콜은 요구사항을 정의하고, 구조체, 클래스, 열거형은 프로토콜을 채택해서 요구사항을 실제로 구현하는 방식으로 사용됩니다. 프로토콜은 정의를 할뿐 기능 구현은 하지 않습니다. 프로토콜은 다음과 같은 모습으로 생겼습니다. protocol ‘이름’ { //프로토콜 정의 } 프로토콜의 용법 Property Requirements Method Requirements Initializer Requir..

[Swift] Typealias란 무엇인가?

안녕하세요 맥파이입니다. 오늘부터는 Swift를 공부하면서, 한번씩 이게 뭐지 할수 있는 것들에 대해 정리를 해볼려고 합니다. 여러번 정리를 해보고 했지만, 글로 남겨두지 않으니 필요할때 다시 찾아보게 되더라고요.. 그래서 시작했습니다. Swift 관련 궁금증을 모두 날려버리자 씨리즈입니다. 그 첫번째는 Typealias입니다. Typealias 기존에 선언되어 있는 유형에 별칭을 사용하여 가독성을 높이는 문법입니다. 치환한다고 하면 이해하기가 쉬울것 같습니다. 한번 확인해보시죠. Typealias 사용 방법 typealias를 사용하는 방법에는 5가지 방법정도가 존재하는것으로 보입니다. 하나씩 확인해보도록 합시다. Built-in type : String, Int User defined types: C..

[Swift] 보이스오버(VoiceOver) 사용중 화면이 먹통이 되었을 경우.

안녕하세요 맥파이입니다. 오늘은 보이스오버 기능을 가지고 놀다가 보면 깜짝 놀라는 일이 발생할 수도 있어서, 이 이야기를 해볼까 합니다. 보이스 오버 (Voice over) in iOS 애플폰은 시각장애인용 기능을 지원하고 있습니다. iOS앱을 만드는걸 업으로 삼고 있다보니.. 민원으로 만나기 쉽지 않은 보이스오버를 만나게 되었습니다. 보이스 오버가 무엇이냐? 어떻게 쓰는거냐? 이거 테스트를 어떻게 해야하지 고민하는 개발자분이라면 다음 링크를 들어가서 확인한번 해보세요. https://support.apple.com/ko-kr/guide/iphone/iph3e2e415f/ios iPhone에서 VoiceOver 켜기 및 연습하기 iPhone 화면을 볼 수 없는 경우, 제스처 기반 화면 읽기 도구인 Voi..

[svn] global-ignores: ignore 설정 방법

안녕하세요 맥파이입니다. 요즘은 잘 쓰지 않는 svn에 대한 설정이야기 입니다. 고대 유물 취급받는 놈인데, 전 아직 사용할 수 밖에 없는 환경이라... 가끔 ignore 처리를 할 필요가 있는데, 가끔 쓰는 내용이라 매번 까먹어요. 건망증은 아닌거 같은데, 명령어나 위치들은 기억하기가 쉽지 않더라고요. 그래서 정리합니다. ignore 설정 파일 위치 svn에서 파일 관리를 하고 싶지 않을 경우에는 ignore 설정으로 처리가 가능합니다. 위치는 아래와 같습니다. vi로 열어서 수정을 하면 됩니다. vi ~/.subversion/config 파일중 global-ignores를 검색하고, 맨뒤에 무시하고 싶은 설정을 넣습니다. global-ignores = *.o..... 그럼 다음부터 보고도 못본척 무시..

[Swift] 버튼 title 제거해도 title 노출이 될 경우

안녕하세요 맥파이입니다. XCode가 업데이트 되고, 언젠가 부터.. XCode13인가?? 기억은 잘안나는데요, UIButton을 추가하고 title을 제거했음에도 불구하고, 빌드후 화면을 보면 Button이라고 하얀색으로 보이는 현상이 있습니다. 스토리보드를 보면 멀쩡하고, 꼭 빌드하면 나타나는 하얀색 Button이라는 글씨가 맘에 안듭니다. 해당 증상은 버그로 보입니다만.. 아직도 고쳐지지 않고 있습니다. XCode14에서도 확인이 되고 있네요. UIButton을 추가하고, 빌드하면 나타나는 하얀색 'Button'문구 UIButton내 title 제거해도 title 영역에 'Button'이란 글씨가 노출이 될 경우 처리 방법은 다음과 같습니다. 스토리보드에서 style을 Default로 변경하고 ti..

[Swift] Xcode LLDB 빌드에러 발생

안녕하세요 맥파이입니다. 오늘은 어처구니 없는 버그를 만났던 일화를 소개합니다. 일단 다음과 같은 에러가 발생했습니다. warning: libobjc.A.dylib is being read from process memory. This indicates that LLDB could not find the on-disk shared cache for this device. This will likely reduce debugging performance. 오랫만에 큰맘먹고 주말에 코딩을하려고 했습니다. 대박 어플 개발로 경제적 자유를 누리겠다는 큰 꿈을 가지고 오랫만에 빌드를 실행했더니... 이게 뭐야!! 빌드시간이 느려지고, 위와 같은 에러가 발생했다. 온라인에 무수한 해결방법들을 따라서 진행해보았지만 ..

[Swift] lazy 키워드

안녕하세요 맥파이입니다. 아직 내부적으로는 ObjC를 사용하고 있지만, 시대에 뒤쳐지는게 싫어서 swift 미니 프로젝트를 개인적으로 진행중입니다. 공부할것도 많고, 다시 자기개발을 진행하면서 많은것을 느끼며 배우고 있어요. 하고 싶은게 많지만, 제대로 공부하기 위해서 하나씩 정리하려고 합니다. lazy 키워드 var name: String lazy var lazyVaue: String = { return name }() lazy를 사용하면 초기에 불필요한 메모리 할당을 피할수 있습니다. 이게 어디에 좋은거냐? 불필요하다!! 난 그냥 쓸거다!! 이러시는 분들 많을것 같습니다. 저와 같은 경우에는 현업들의 요구사항에 시달릴때가 있습니다. "앱이 느리다. 개똥같이 만든게 아니냐? 빨리 빠르게 고쳐놔라" 라고..

반응형