[번역] Retain Cycles, Weak, Unowned in Swift Memory Management, Retain Cycle 그리고 weak, unowned 키워드의 사용법은 약간은 혼란스러운 주제일 수 있습니다. 반대로 이 주제를 이해하는 것은 매우 중요합니다. 왜냐하면 Retain Cycle은 메모리 문제를 일으키는 주된 요인 중 하나이기 떼문입니다. 하지만 걱정하지마세요! 이 글에서는 당신이 필요한 모든 것을 배우게 될 것입니다. 참고 : 이 글은 Swift3과 ios10으로 업데이트 되었습니다. 원본 출처 Contents우리는 스위프트에서 메모리 관리에 대한 기본적인 것 부터 시작해볼 것입니다. 우리는 기본적으로 Retain Cycle이 무엇인지, 그리고 weak과 unowned 키워드를..
Basic Table View - Code 지난 포스팅에서는 기본적은 UI 세팅을 하였다면 이번 포스팅에서는 본격적으로 코드를 작성해보는 시간을 갖도록 하겠습니다. 바로 시작하겠습니다. 1) Data 먼저 우리가 만들 예제 어플리케이션에서 만들 데이터들을 간단하게 코드로 작성해보도록 하겠습니다. 실제 배포되는 어플리케이션에서는 이처럼 데이터를 코드로 작성하지 않고 대부분 서버에서 받아오는 형태이지만 연습 예제이니만큼 이해해주시기 바랍니다. import UIKit class ViewController: UIViewController { var dataList = [[String:String]]() /* Dictionary를 배열로 갖는 데이터 구조. */ var weather:[String] = ["clo..
Basic Table View - UI 안녕하세요! 오늘은 스위프트가 아닌 ios 개발 관련된 포스팅을 해보려합니다. 오늘 이야기해 볼 주제는 바로 TableView입니다. 모바일 어플리케이션 관련 서적이나 블로그들을 보면 기본적으로 다루는 요소 중 하나입니다. 그 만큼 가장 많이 쓰이기도 하는 요소 중 하나입니다. 안드로이드를 공부하시고 계시거나 하셨더라면 RecyclerView 혹은 ListView에 관해서 많이 들어보셨을 것입니다.그와 같이 ios에는 TableView가 존재합니다. 우선 TableView가 무엇인지 모르시는 분들을 위해 간단한 예제들을 통해서 알아보도록 하겠습니다. Intro 위에서 언급했던 것과 마찬가지로 거의 모든 모바일 어플리케이션에는 TableView가 들어가게 됩니다. 카..
Protocol Basic To Advanced 저번 포스팅에서는 프로토콜의 기본적인 개념과 문법들을 살펴보았습니다. 이번 포스팅에서는 스위프트에서 프로토콜에 대한 심화된 내용과 이를 사용하는 이유, 더 나아가 POP (Protocol Oriented Programming)에 대해서도 살펴보는 시간을 갖도록 하겠습니다. 글을 읽기전에 먼저 숙지하고 계셔야할 주제들입니다. protocol - basic extension (추후 업데이트 예정) 만일 당신이 레이싱 게임을 개발한다고 상상해보세요. 당신은 자동차를 운전할 수도 있고 오토바이를 운전할 수도 있으며 심지어는 비행기도 조종할 수 있습니다. 객체지향적인 설계로 이러한 종류의 어플리케이션을 만들게 된다면 공통적인 기능들을 빼서 클래스를 만들고 이를 상속..
Closure - Capture List 저번 포스팅에서는 기본적인 문법부터 다양한 축약형의 문법 그리고 값으로써의 클로저를 알아보았습니다. 이번에는 클로저를 사용하면서 중요한 문법 중 하나인 Capture List에 대해서 알아보도록 하겠습니다. 글을 읽기전에 먼저 숙지하고 계셔야할 주제들입니다. Closure - BasicClosure는 Reference Type이다. 기본적으로 클로저는 Reference Type입니다. 이 포스팅에서는 Reference Type과 Value Type의 차이점을 설명하지 않습니다. 또한 클로저가 매개변수로 값을 넘기는 것이 아닌 단순히 클로저 바깥의 값을 사용할 때는 값을 복사하여 클로저 내부에 저장하고 사용하는 것이 아닌 해당 값을 참조하여 사용하게 됩니다. 이러한..
Protocol Basic Swift를 잘 다루고 여러 샘플 코드들을 정확히 이해하려면 protocol은 완벽히 익히고 있어야 한다고 생각합니다. 어떻게 보면 Swift의 강력한 기능 중 하나가 protocol이라고 생각됩니다. 그럼 지금부터 protocol에 대해서 천천히 알아가는 시간을 갖도록 하겠습니다. 애플의 공식문서에 정의된 protocol의 정의는 다음과 같습니다. "A protocol defines a blueprint of methods, properties, and other requirements that suit a particular task or piece of functionality." 직역하자면 다음과 같습니다. "protocol은 특정 작업 혹은 기능들을 구현하기 위한 메소..
Delegation Pattern 글을 읽기전에 먼저 숙지하고 계셔야할 주제들입니다. Protocol - basic Protocol - advanced someObjectProperty.delegate = self 많이 보셨던 모양이실겁니다. 프로토콜을 사용할 때, 특히 저는 TableView를 다룰때 가장 많이 접했던 것으로 기억이 됩니다. 이것이 무엇을 의미할까요? Delegation Pattern을 구글링해보시면 해석을 통해 시작하는 경우가 많습니다. 그 뜻은 직역하자면 위임하다 등의 의미로 해석이 됩니다. 쉽게 표현하자면 어떤 객체에서 일어나는 이벤트에 관한 혹은 어떤 객체에 뿌려줄 데이터에 관한 코드를 다른 객체에서 작성해주는 것을 말합니다. 즉 A객체의 일을 B객체에서 대신해주는 일을 위임하는..
Closure - Basic 클로저는 func 키워드와 함수의 이름이 없는 함수입니다. 흔히들 익명함수라고 불리기도 합니다. 이들은 이름이 없기 때문에 그들 스스로 호출을 할 수 없습니다. 기본 클로저 문법 { (매개변수 목록) -> 반환타입 in 실행 코드 } 함수 vs 클로저 Function 이름이 있다. func 키워드가 존재한다. in 키워드가 존재하지 않는다. Closure 이름이 없다. func 키워드가 존재하지 않는다. in 키워드가 존재한다. func giveFunc(){ ... } // function var giveNoFunc = {() ->in ... } // closure //call giveFunc() giveNoFunc() Function to Closure example fun..
- Total
- Today
- Yesterday
- Xcode
- CRUD
- Protocol
- 운영체제
- UIControl
- auto layout
- 아이폰
- 스위프트
- Algorithm
- UIResponder
- Swift
- 알고리즘
- Operating System
- 프로토콜
- IOS
- 오토레이아웃
- 백준
- TableView
- segue
- boostcourse
- nodejs
- storyboard
- 테이블뷰
- 클로저
- edwith
- 부스트코스
- notificationcenter
- oauth2.0
- Codable
- iPhone
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |