본문 바로가기 메뉴 바로가기

Peppo

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

Peppo

검색하기 폼
  • 분류 전체보기 (221)
    • Story (13)
    • iOS (143)
      • Error (11)
    • 알고리즘 (43)
    • ETC (7)
    • React-Native (0)
    • CS (Computer science) (3)
  • 방명록

iOS (154)
[iOS] MVC, MVP, MVVM 비교

MVC Model, View, Controller 로 나누어 설계한 아키텍처 패턴 입니다. 구조 MVC의 구조를 그림으로 나타내면 아래와 같습니다. Model : 앱에 사용되는 데이터와 데이터를 가공하는 부분 입니다. View : 사용자에게 보여지는 화면 부분(UI) 입니다. Controller : 사용자의 입력(Action)을 받아 처리하는 부분 입니다. 동작 순서 MVC의 흐름은 아래와 같습니다. 모든 입력(Action)은 Controller에 전달 및 처리가 됩니다. Controller는 사용자의 Action을 확인 후, Model을 업데이트 합니다. Controller는 Model을 나타내줄 View를 선택합니다. View는 Model을 이용해 화면을 나타냅니다. View가 업데이트 되는 방법 V..

iOS 2022. 5. 6. 07:47
[iOS] TableView (programmatically)

처음으로 프로그래머스에서 과제테스트를 봤었는데 제출 방법을 몰라 제출도 못했... 지금이라도 알았으니 됐지.. 무튼 !! 오늘은 앱 개발을 하면서 무조건 해보는 TableView를 코드로 작성해 보겠습니다!! 결과 TableView를 세팅할때는 아래 6가지를 구현해주시면 됩니다! ToDo 1. constraints 2. set delegate 3. make tableViewCell 4. register 5. row height 6. show data 1. constraints 먼저 tableView가 어느위치에 있을지 잡아줍니다. 저는 화면 전체를 꽉 채우도록 구현했어요. class TableViewController: UIViewController { var tableView = UITableView(..

iOS 2022. 5. 4. 00:56
[iOS] TextField 앞 뒤로 공백 있을시 제거 - trimmingCharacters(in:)

사용자가 textfield에 입력한 값을 저장하는 기능에서 좋은 피드백을 받았습니다. 문장, 단어 앞 뒤에 공백이 있을때도 그대로 등록이 되는데 잘라줄순 없나요 ? 어... 역시 찾아보니까 있었어요 오늘 해볼건 이겁니다! 앞에 공백이 많이 띄워져있는데도 공백을 없애고 String만 나오게 해볼거에요! 물론 뒷 공백도 잘라줍니다. (글자 사이의 공백은 유지시켜줘요!) 공식문서 trimmingCharacters(in:) 이라는 메소드를 사용해서 in: 이 갖고 있는 프로퍼티중에 .whitespaces를 선택합니다. 저는 아래와 같이 사용했어요 extension UITextFieldPlaceholderViewController: UITextFieldDelegate { func textFieldShouldRet..

iOS 2022. 5. 1. 11:40
[Swift] 초기화 (Initialization) 3/3 - init?, init!, required init

실패 가능한 초기자 (Failable Initializers) 초기화 과정중 실패할 가능성이 있는 초기자를 init? 키워드를 사용해 표시할 수 있습니다. NOTE 실패가능 초기자는 반환값으로 옵셔널 값을 생성합니다. 초기화에 실패하는 부분에서 return nil 을 작성해 초기화가 실패했다는걸 나타내줍니다. 비록 초기화가 실패했을때 return nil 을 써주지만, 성공했을 경우엔 return 키워드를 사용하지 않습니다. 아래는 실패 가능 초기자 Int(exactly:)를 사용한 예제 입니다. 알고가자 Int(exactly:) - 소수점 값이 0이면 정수만 추출하고, 소수점 값이 있으면 nil을 출력합니다. ex) Int(exactly: 2.5) -> nil Int(exactly: 2.0) -> 2​ ..

iOS 2022. 4. 29. 21:52
[iOS] Operation (OperationQueue, BlockOperation, AsyncOperation)

GCD Operation - 간단한 일 - 메소드 위주 사용하는 작업 - 복잡한 일 - 데이터와 기능을 캡슐화한 객체 취소 / 순서지정 / 일시정지 (상태추적) Operation • Single-Shot-Object 인스턴스화 → 작업을 한번만 실행가능하게 합니다 동일한 작업을 반복해야 하는 경우 매번 새로운 1인스턴스를 생성해야 합니다. • 기본적으로 sync(동기)로 실행합니다. • 동일한 작업을 반복해야 하는 경우 매번 새로운 인스턴스를 생성해야 합니다. Operation 의 고유기능 취소 순서지정 (의존성) 상태 체크 (state machine) KVO notifications Qos 수준 우선순위 고려 completionBlock 제공 completion closure 내장 사용방법 input,..

iOS 2022. 4. 27. 22:04
[iOS] label 속성

볼드체 label.font = UIFont.boldSystemFont(ofSize: 16) // or label.font = UIFont(name:"HelveticaNeue-Bold", size: 16.0) numberOfLines (줄바꿈) label.numberOfLines = 2 // 글이 화면을 넘어가면 자동으로 아래로 내려서 '2줄까지' 보여줌 label.numberOfLines = 0 // 글이 끝날때 까지 자동으로 아래로 내려서 보여줌 lineBreakMode (줄임표) .byTruncatingTail ⭐️ 가장 많이 사용 마지막 라인의 뒷부분을 잘라내 말줄임표로 처리합니다. label.lineBreakMode = .byTruncatingTail // 마지막 라인의 뒷부분을 ... 처리 이 ..

iOS 2022. 4. 24. 00:41
[Swift] 초기화 (Initialization) 2/3 - convenience, designated initializer

클래스 상속과 초기화 (Class Inheritance and Initialization) 모든 클래스의 저장 프로퍼티와 상위클래스로부터 상속받은 모든 프로퍼티는 초기화 단계에서 반드시 초기값이 할당 되어야 합니다. Swift에서는 클래스 타입에서 모든 프로퍼티가 초기값을 갖는걸 보장하기 위해 2가지 방법을 지원합니다. 지정 초기자와 편의 초기자 (Designated Initializers and Convenience Initializers) 지정 초기자는 클래스의 주요 초기자입니다. 클래스의 모든 프로퍼티를 초기화 하며, 클래스 타입은 반드시 한개 이상의 지정 초기자가 있어야 합니다. 편의 초기자는 초기화 단계에서 미리 지정된 값을 사용해 초기화를 할 수 있도록 해주는 초기자 입니다. 편의 초기자 내에..

iOS 2022. 4. 22. 21:21
[Swift] 초기화 (Initialization) 1/3

초기화 초기화는 클래스, 구조체, 열거형 인스턴스를 사용하기 위해 준비 작업을 하는 단계 입니다. 이 단계에서 각 저장 프로퍼티의 초기 값을 설정 합니다. initializer를 정의하여 초기화 과정을 실행 시킬 수 있습니다. Swift의 initializer는 값을 반환하지 않습니다. 초기화와 반대로 여러 값과 자원의 해지를 하기 위해 deinitializer를 사용합니다. 저장 프로퍼티를 위한 초기값 세팅 (Setting Initial Values for Stored Properties) 클래스와 구조체는 인스턴스가 생성될 때까지 저장프로퍼티를 적절한 초기값으로 세팅해야 합니다. NOTE 저장프로퍼티에 기본값을 할당하거나, initializer에 초기값을 세팅하면, 프로퍼티 옵저버가 호출되지 않고 해..

iOS 2022. 4. 20. 21:41
[iOS] 네트워크 연결 확인 (NWPathMonitor)

대부분의 앱들이 서버와 통신해 데이터를 주고 받은데요 가끔 인터넷 연결이 불안정하거나, 꺼져있을 경우 이를 체크할 수 있는 프레임워크가 있습니다. 오늘은 네트워크 실시간 연결 확인 과 어떤 타입으로 연결되어 있는지 확인 하는 방법을 공부 해 보겠습니다. Network Network 프레임워크에서 제공하는 기능중, 네트워크 상태 업데이트를 받기 위해 NWPathMonitor 를 사용 해야 합니다. 실시간 관찰자 (monitor)생성 먼저, 네트워크 상태를 모니터링 하기 위해 monitor 를 인스턴스화 해줍니다. // AppDelegate.swift import Network let monitor = NWPathMonitor() monitor.start(queue: .global()) // 백그라운드 qu..

iOS 2022. 4. 17. 19:06
[iOS] 다크모드 제한 (iOS 13+)

iOS 13 버전 부터 '다크 모드' 를 지원하게 되었는데요. 이게 모드에 따라 색을 지정해주지 않으면 난감한 상황이 나오게되는데 일단 텍스트 필드를 예로들어볼게요. 일반모드와 다크모드 각각 적용한 화면인데요. 사용자 입장에서 다크모드로 보면 저게 텍스트필드인지 Label인지 버튼인지 알 수 없을겁니다. 각자 색을 지정해주는 방법도 있지만 오늘은 다크모드를 제한 하는 방법에 대해 알아 보겠습니다! 2가지 방법이 있습니다. info.plist를 수정하는 방법 AppDelegate에서 수정하는 방법 원하는 방법들중 골라서 사용하시면 됩니다. :) 1. info.plist 아래와 같이 info.plist에 들어가서 Information Property List 우클릭 → Add row → Appearance ..

iOS 2022. 4. 15. 21:38
이전 1 ··· 5 6 7 8 9 10 11 ··· 16 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
  • Peppo's Github
TAG
  • ios
  • Swift Leetcode
  • 2023년 회고
  • swift (programmers)
  • 원티드 프리온보딩
  • CS 네트워크
  • Swift 프로그래머스
  • swift 고차함수
  • swift protocol
  • swift reduce
  • swift property
  • RTCCameraVideoCapturer
  • Swift
  • Class
  • Swift final
  • swift programmers
  • Swift ModernRIBs
  • Combine: Asynchronous Programming with Swift
  • iOS error
  • Swift 알고리즘
  • Swift 내림차순
  • Swift joined
  • Swift Error Handling
  • Swift 프로퍼티
  • removeLast()
  • Swift RIBs
  • Swift joined()
  • Swift inout
  • RIBs tutorial
  • Swift init
more
«   2025/08   »
일 월 화 수 목 금 토
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바