일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- frontend
- tshaped
- globalcommunity
- 알고리즘
- swiftUI
- error
- Apple Developer Academy
- 코드트리
- NextJs
- UIKit
- 프로그래머스
- 코딩테스트실력진단
- Xcode
- Front-end
- 프로젝트
- iOSDeveloper
- AppleDeveloperAcademy
- 코드트리챌린지
- velog
- 프론트엔드
- JavaScript
- 자바스크립트
- 회고
- react-query
- react
- SWIFT
- ios
- TypeScript
- git
- 코딩테스트
- Today
- Total
목록SWIFT (23)
Moon Work

문제 storyboard에서 아울렛으로 table view를 드래그해서 연결하려는데 해당 ViewController가 연결되지 않았다는 에러가 발생했다. 우측 Identity Inspector에서 연결된 클래스를 확인해도 정상적으로 연결되어 있었다. 해결 cmd + B로 리빌드 후 재시도 결과 정상적으로 연결되었다. 참고 https://developer.apple.com/forums/thread/76730 Can't connect outlets in IB | Apple Developer Forums I'm using a storyboard for a project I've been working on for sometime. A couple of days ago I added a new label to ..

시작하며 기본적으로 iOS에서는 ARS(Automatic Reference Counting)을 통해 클래스의 인스턴스가 얼마나 많이 참조(retain)을 받고 있는지를 추적한다. 만약 어떤 인스턴스도 해당 객체를 참조하고 있지 않다면 자동으로 메모리에서 해제한다. 하지만 두개 이상의 인스턴스가 서로를 강하게 참조하고 있는 순환(cycle)이 발생한다면 어떤 인스턴스를 메모리에서 해제하려해도 다른 인스턴스가 참조하고 있는 상황이라 해제가 불가능하게 된다. 이를 위해 Swift에서는 strong, weak, unowned 세가지 방식으로 참조를 가능하게 하여 이러한 순환 참조가 일어나지 않게 방지할 수 있는 기능을 제공해주었다. Strong - 강한 참조 기본적으로 서로의 인스턴스끼리 참조가 이루어지면 강한..

시작하며 Swift의 property는 강력하다. 이해하기 쉽고 옵저버와지연저장 프로퍼티 등을 제공해준다. Swift가 친절하고 편하게 느껴지는 것은 자바스크립트를 먼저 배워서일까, js야 고마워. 프로퍼티 프로퍼티는 클래스, 구조체, 열거형에 들어있는 속성들이다. 프로퍼티의 종류는 아래 5가지가 있다. 1. 저장 프로퍼티 2. 지연 저장 프로퍼티 3. 연산 프로퍼티 4. 프로퍼티 감시자 5. 타입 프로퍼티 저장 프로퍼티(Stored Property) 기본구조 ... var nameOfProperty1: PropertyType let nameOfProperty2: PropertyType var nameOfProperty3: PropertyType = defaultValue var nameOfProper..

시작하며 Swift를 배우면서 가장 흥미로웠던 부분은 이 protocol이었다. typescript에서 제공하는 type과 interface을 통한 다형성과 유연성을 제공해주어 기존 js가 가진 불안한을 해소시켜 주었었다. 이번 protocol 정리와 다음에 정리한 extension을 통해 이후에 나올 Swift의 POP를 가능하게 하는지 이해할 수 있었으면 좋겠다. Protocol 프로토콜은 지켜야할 규칙, 즉 인터페이스로 struct, class, enum 등이 가져야 할 메소드나 프로퍼티의 청사진을 정의한다. 특정 기능을 실행하기 위해 프로토콜을 채택하고 그 요구사람을 구현하면 "해당 프로토콜을 준수한다"라고 말할 수 있다. Protocol 구조와 Protocol 채택 //프로토콜 정의 protoc..

시작하며 다른 블로그들을 참조하며 Swift의 class와 struct를 공부하던 중 struct가 상속이 안된다는 특징을 가지고 있는게 마음에 걸렸다. 상황에 따라 다르겠지만 struct로 주로 개발한다는 내용을 듣고 다형성 구현에 뭔가 다른 방법이 있는 것 같았고 그러던 중 새로 알게된 것이 POP(Protocol Oriented Programming)이다. 이 글을 통해 class와 struct에 대한 가벼운 비교와 protocol이라는 Swift만의 개념을 통한 POP에 대해 정리해보려 한다. Struct 란 Struct는 다른 언어들과 비슷하게 특정 기능, 혹은 역할을 하기 위한 데이터, 기능을 하나로 묶어 사용자가 새로운 데이터 타입을 생성할 수 있게 해준다. 기본적으로 아래와 같은 구조를 가..

Swift 기초 2 2022.12.16 - [Swift] - [Swift] Swift 기본 문법 정리 2: 함수 [Swift] Swift 기본 문법 정리 2: 함수 Swift 기초 1 2022.12.15 - [Swift] - [Swift] Swift 기본 문법 정리 1 [Swift] Swift 기본 문법 정리 1 Mac에서 Swift 시작하기 mac에서 ios 개발을 위해서는 기본적으로 맥북에 제공되는 xcode를 통해 가능하다. (없는 moon-works.tistory.com 시작하며 javascirpt에서의 closure를 생각하고 공부한 closure는 그 기능이 많이 달랐다. closure의 유무는 코드를 더 간결하고 우아하게 만드는 것처럼 보였다. 아직 기초이지만 closure의 활용이 기대가 ..

Swift 기초 1 2022.12.15 - [Swift] - [Swift] Swift 기본 문법 정리 1 [Swift] Swift 기본 문법 정리 1 Mac에서 Swift 시작하기 mac에서 ios 개발을 위해서는 기본적으로 맥북에 제공되는 xcode를 통해 가능하다. (없는 경우 앱스토어에서 다운로드) Create a new Xcode project를 클릭한뒤, 상단 바에서 File - New - moon-works.tistory.com 함수 기본 선언 func 함수이름(매개변수1이름: 매개변수1타입, ...) -> 반환타입 { ... } //반환값이 없는 경우 func 함수이름(매개변수1이름: 매개변수1타입, ...) -> Void { ... } //매개변수가 없는 경우 func 함수이름() -> V..