iOS (74) 썸네일형 리스트형 .gitignore .gitignore 파일을 프로젝트에 적용하기 전에 !! 먼저 이 파일이 무엇인지 알아보자. .gitignore 파일이란? 간단하게 말하면 불필요한 파일이 remote에 즉, 레포지토리에 올라지 않게 만들어주는 파일이다. 여기서 말하는 불필요한 파일에는 파일 백업 정보, 제품 빌드 정보, .DS_Store (메타 데이터가 저장되어 있는 파일) 등을 예로 말할 수 있다. 이러한 파일들은 굳이 remote에 업로드가 될 필요가 없기 때문에 올라가지 않도록 하는 것이다. 또한, 이러한 파일들로 인한 혹시라도 발생할 수 있는 데이터 충돌을 막을 수 있다. 그렇기 때문에 혼자서 작업할 때도 필요하지만, 협업 시에는 초기 세팅 과정에서 .gitignore를 작성해서 레포에 푸시하는 것이 좋다. xcode proje.. 프로토콜 - Basic To Advanced 프로토콜을 잘 사용하면 보다 효율적인 코드를 작성할 수 있다. 먼저 프로토콜의 기본적인 내용은 아래 [더보기]를 통해서 확인할 수 있다. 더보기 프로토콜이란? "A protocol defines a blueprint of methods, properties, and other requirements that suit a particular task or piece of functionality" (= protocol은 특정 작업 혹은 기능들을 구현하기 위한 메소드, 프로퍼티, 그리고 기타 다른 요구사항들의 청사진이다.) .. 보다 이해하기 쉽게 설명하자면, 프로토콜은 구현해야 하는 것들의 리스트이다. 그리고 프로토콜은 이름을 통해서 보다 직관적으로 명시할 수 있어야 한다. 이름만 봐도 그 역할을 짐작할 .. Network - 가볍게 HTTP HTTP란? Hyper Text Transfer Protocol의 약어로, 인터넷에서 데이터를 주고 받을 수 있는 프로토콜을 말한다. 메시지를 평문 그대로 전송하기 때문에 주고 받을 수 있는 데이터가 공개될 수 있는 여지가 있다. 만약, URL에 중요한 정보를 담아서 주고 받는다면 보안에 취약할 수 있다. 모든 프로그램이 규칙에 맞춰 개발하므로 (클라이언트와 서버가 동일한 규칙을 바탕으로 정보를 주고 받으므로) 상호간의 정보 교환이 가능하다. 클라이언트(앱) ---reqeust(POST/GET/PUT/DELET) + 인증키---> 서버 클라이언트(앱) 로 끝나는 Tag로 이루어진 마크업 구조 iOS의 경우 XMLParser 모듈을 Foundation Framwork에서 제공하므로 데이터를 쉽게 .. SSAC - 다마고치 프로젝트 피드백 정리 1차 평가과제(?)였던 다마고치 프로젝트의 피드백을 받았다. 평가과제 기간과 앱잼 데모데이 일정이 겹쳐 두가지 작업을 진행하느라 제법 .. 얼레벌레 코드를 작성했었기에 (죄송합니다..) 싹 .. 갈아엎을 생각으로 피드백을 보았다. 공통 피드백과 개별 피드백을 읽어보면서 어떻게 코드를 정리하면 되는지 알게 되었고 평가 과제 이후로 자가회고를 하면서 .. 나에게서 무엇이 부족한지 느낄 수 있었다. 피드백 내용은 후술할테니 자가회고를 하면서 느꼈던 것을 먼저 정리하자면, 아래와 같다. 자가 피드백 기술/실력적인 회고에 앞서서 스스로를 되돌아보았을 때, 부끄러운 부분들이 많다. 초반의 열심히하겠다고 한 마음가짐과 다르게 체력적인 한계에 부딪혀서 최선을 다하지 못한 모습이 있었다. 무엇보다 절대적인 시간을 많이 .. 0729 Q&A 정리 1. IBOutlet의 didSet이 한번만 호출되는 이유? IBOutlet을 통해 연결한 UIComponent에 대해서 didSet으로 설정을 바꿀 수 있지 않을까? @IBOutlet weak var button: UIButton! { didSet { button.backgroundColor = .red } } 그렇다면, 위와 같이 코드를 작성하게 된다면 button의 속성이 바뀔 때마다 didSet이 호출되는 것이 아닌가?라는 생각을 할 수 있다. 그러나, 그렇지 않다. 프로퍼티라면 그렇게 동작할 수 있지만 IBOutlet은 클래스이므로 button 자체를 바꾸지 않는 이상 didSet이 호출되지 않는다. 클래스이므로 인스턴스 자체를 바꾸지 않는 이상 didSet이 호출되지 않는다. 코드를 통해서 살.. Custom Font를 적용하고 싶다면? xcode에서 폰트를 수정하고 싶을 때 아래와 같은 코드를 통해서 수정할 수 있다. numberTextField.font = .systemFont(ofSize: 13, weight: .regular) numberTextField.font = .systemFont(ofSize: 13) numberTextField.font = .boldSystemFont(ofSize: 13) numberTextField.font = .italicSystemFont(ofSize: 13) 이 때 사용되는 폰트는 Apple에서 기본적으로 제공하고 있는 Apple SD Gothic Neo 체이다. (폰트 스타일은 아래와 같이 Bold, Heavy, Light .. 등이 있다.) Apple SD Gothic Neo체 말고도 시스템적.. ATS(App Transport Security) 애플에서 제공하거나 .. 애플에서 무언가를 한다면 .. 항상 느끼는 것은 애플의 보안성은 정말 ... 좋구나 .. 조금 더 안좋게 말하면 .. 엄청 폐쇄적이구나 .. 라는 것을 느낄 수 있다 애플의 경우 기본적으로 http로 시작하는 URL에 대한 접근을 제한하고 있다. 따로 설정을 하지 않고 허용하지 않은 외부 도메인에 접근하려고 한다면? App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file. 위와 같은 오류메시지가 나타난다. 그래서 앞서 말한 것과 같이 Ap.. UIResponder Responder Chain이 무엇일까? 우리가 처음 xcode 프로젝트를 만들면 생기는 파일 중 어쩌면 가장 중요하다고 할 수 있는 파일인 AppDelegate와 SceneDelegate를 보면 접할 수 있다. 이 두개의 클래스 모두 동일하게 UIResponder를 상속 받는다. 그렇다면, 먼저 UIResponder가 무엇인지 살펴보자. UIResponder는 An abstract interface for responding to and handling events. 이다. (뭔말이야) 이벤트에 응답 및 처리를 위한 추상 인터페이스 .. 이다. Responder 객체는 UIResponder의 인스턴스이다. 더보기 Responder 객체가 뭔데 .. Responder는 이벤트를 처리하고 반응할 수 있는 .. 이전 1 ··· 5 6 7 8 9 10 다음