본문 바로가기

공부

(23)
Swift - Optional(옵셔널) 기본 잡설... 처음에 iOS개발을 Objective-C로 시작했다. 2015년이여서 그 당시에 생각은 많은 회사들의 기존 프로젝트들이 Objective-C일꺼라고 생각했기 때문이다. 그리고 현재 회사에 16년도에 입사했을때 Objective-C와 Swift 가 병행하여 사용되고 있었다. Swift를 시작하면서 제일 낯설었던 기능중 하나가 Optional이였고, 현재는 무리 없이 사용하지만 Swift공식 문서를 보고 한번더 정리하려고 이 글을 쓴다. 잡설은 이제 끝! 그럼 시작해 볼게요! 검정글씨는 공식문서를 번역한거고 보라색은 책과 제 생각을 정리한 글입니다. 스위프트는 Optional Type을 소개하고 있는데, Optional Type은 값의부재(nil)을 처리 하는 방법입니다. Optional은 "값이..
Objective-C typedef에 대해서 안녕하세요. 이번에는 Objective-C에서 사용되는 typedef와 #define에 대해 간략적으로 정리해보겠습니다. typedef Objective-C 프로그래밍 언어는 typedef라는 키워드를 제공하는데, 이 키워드를 사용하여 유형에 새로운 이름(별명)을 지정할 수 있습니다. 다음은 1 바이트 숫자에 대해 'BYTE' 라는 별명을 지정하는 코드입니다. typedef unsigned char BYTE; 이 유형 정의 후, 식별자 BYTE는 유형 unsigned char의 약어로 사용될 수 있습니다. BYTE b1, b2; 위와 사용할 수 있습니다. 보통 대문자는 이러한 정의에 사용되어 사용자에게 유형 이름이 실제로 기호 약어임을 상기 시키지만 다음과 같이 소문자를 사용할 수 있습니다. typede..
iOS 계층구조 하위계층은 iOS 의 핵심부분 또는 하드웨어에 가까운 기능을 가지고 있으며, 상위계층 그 다음 계층의 기능을 추상화한 인터페이스를 가지고있다. Core OS 하드웨어와 가장 가까이 있는 최하위 계층 iOS 의 거의 모든 기능의 기본적인 부분을 관리 C기반의 저수준의 API로 이루져 있음. 데이터처리, 네트워크, 파일 접근 등 시스템의 핵심기능을 포함 Core Service Core OS에서 제공하지 않는 기능들을 포함 내부 데이터/위치/센서 등의 기능을 제공 CoreMotion(기기센서), Accounts (계정관리), Foundation(데이터 관리) 등의 기능을 제공 Media 그래픽이나 오디오, 비디오 등 멀티미디어 기능을 제공 C 와 Objectice-C가 혼합되어 있는 상태임 AvFoundati..
Swift - typealias 안녕하세요. brody입니다. Swift에서 사용하는 typealias에 대한 내용을 정리했어요. 저는 type alias의 뜻을 하나씩 번역하면 '타입 별명'으로 타입에 별명을 붙여서 쉽게 사용한다~ 라고만 쉽게 간단히 사용했는데 찾아보니 제가 생각하는 것보다 사용할 수 있는 게 많네요! docs.swift.org/swift-book/ReferenceManual/Declarations.html www.programiz.com/swift-programming/typealias 위의 링크를 번역하고 제 나름대로 해석한 내용이여서 틀린 내용이 있을 수 있습니다. (있다면 댓글 부탁드려요;;) 그럼 시작할게요! 'type alias declaration'는 프로그램에 존재하는 타입을 별명으로 하는 것이다. '..
[Obj-C] @class(Forward declarations)에 대해서... 안녕하세요. 옵씨로 개발할때 쓰던 @class 가 뭔지 궁금해서 정리한 글입니다. Forward declarations 라고 불린다고 하네요. (참고로 옵씨에만 있는 문법이 아니라 c++등에서도 사용되네요) https://stackoverflow.com/questions/5191487/objective-c-forward-class-declaration 위의 스택오버플로우 번역하고 마지막에 정리해놓았습니다. 시간 없으신분들은 맨 아래에 정리한것만 보시면 편할거에요. 첫번째 해석 It basically tells the compiler that the class RootViewController exists, without specifying what exactly it looks like (ie: its ..
UISplitViewContrller(1) - 기초, displayMode, master의 width조절 안녕하세요. iOS개발자 brody입니다. 이번에 아이패드 개발을 하면서 SplitViewController를 사용하면서 공부한 내용을 정리했습니다. 저도 처음공부하는 내용이고 부족하거나 틀린내용 있으면 댓글 부탁드릴게요! 1. UISplitViewContrller는 무엇인가? https://developer.apple.com/documentation/uikit/uisplitviewcontroller 위의 애플 문서를 보면 구글 번역 : master-detail 인터페이스를 구현하는 컨테이너 뷰 컨트롤러라고 나와있네요. 그러면 master - detail은 무엇이지..? 애플 문서에서 제공하는 Overview를 확인해 보면 아래와 같이 나옵니다. 대충 해석을 해보면 뷰컨트롤러 2개를 한 화면에서 관리한다..
[오류] Access to UITextField's _placeholderLabel ivar is prohibited. This is an application bug 애플 로그인을 사용하기 위해서 xCode 버전을 10.2에서 11.2로 올리는 도중에 발생한 오류입니다. 응?? 잘은 모르겠지만 UITextField's _placeholderLabel 에 엑세스 하려고 했고 그건 금지라는 것같다. 해당 화면 storyboard를 찾아가보았다. 음.. UITextView이고, 특이한건 없네.. 그래도 PlaceHolder 문제라고 했으니까 우측에 PlaceHolder를 삭제해보자. 빌드 후 테스트해보니까 잘 작동한다. 오류는 처리되었는데 찝찝하다... 왜 오류가 발생했을까? 그러고 보니까 storyboard에서 UITextView인데도 우측에 PlaceHolder 입력칸이 있는 이유는 UITextView+Placeholder 라이브러리를 사용해서 그런건데 그것때문같다. ..