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

시작하며 Swift를 공부하면서 콘텐츠가 풍부한 유튜버마냥 하루에도 몇번이나 에러가 뜬다. 블로그에 쓸 내용이 마를 일은 없을 듯 하다. 간단한 Weather 앱을 만들기 위해 비동기로 Open Weather를 통해 데이터를 받아왔다. 받아온 데이터를 그대로 IBOutlet으로 연결된 label의 text에 담는 과정에서 위와 같은 에러가 발생했다. 즉, UI을 새로 그리는 과정에서 에러가 발생했다. import UIKit class ViewController: UIViewController { @IBOutlet weak var countryLabel: UILabel! @IBOutlet weak var regionLabel: UILabel! @IBOutlet weak var currentTempLabel..

.gitignoreapi를 사용하는 간단한 앱을 만드려는데 api key를 github에 올리지 않기 위해 .gitignore 파일을 만들어야 했다. Xcode는 VSCode와 달리 터미널에서 .gitignore 파일을 추가할 수 있었다. git 시작하기아래와 같이 git을 시작해서 .gitignore파일을 생성한다. // git 시작하기git init// .gitignore 파일 생성touch .gitignore// .gitignore 파일 열기vim .gitignore gitignore 파일 작성하기1. 아래의 사이트에서 Swift, Xcode 등을 입력해서 기본적으로 필요한 gitignore 파일을 얻을 수 있다.2. 아래와 같이 내용을 전달 받은 뒤 복사를 한 뒤 앞서 열어둔 .gitignore ..

문제 CoreData를 활용해서 데이터를 저장하는데 아래와 같은 에러가 발생하였다. Exception NSException * "keypath data not found in entity _" 해결 1. ViewController에서 주석을 달면서 체크한 결과 CoreData와 통신하는 싱글톤 클래스에서 문제가 발생한 것을 확인했다. 2. MemoData라는 entity의 속성의 date 속성이 있었는데 날짜에 따라 코어데이터에서 가져오는 코드에서 오타가 발생하였다. (date -> data) let dataOrder = NSSortDescriptor(key: "data", ascending: false) request.sortDescriptors = [dataOrder] 적용 코어 데이터에서 keypa..

문제 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 - 강한 참조 기본적으로 서로의 인스턴스끼리 참조가 이루어지면 강한..

시작하며 11월 말 친구에게 애플 개발자 아카데미에 대한 정보를 공유 받았다. 인포세션은 하나도 듣지 못했지만 협업에 목말라있던터라 급하게 포폴과 CV를 이틀만에 만들어서 지원하였는데.. 이렇게 시간이 지나 합격 후기를 쓰게 될 줄이야 🕺💃🕺💃 CV와 포트폴리오 디자인 포폴을 만들때는 어떤 것을 넣을지 고민했다면 테크로 지원하려다보니 포폴을 쥐어짜내야만 했다(이게 제일 힘들었다). 개인 프로젝트를 진행했지만 완성도를 높이지 못해서 차마 넣지 못하고 외주로 진행한 작업과 이전 인턴에서의 프로젝트까지 쥐어짜내야했다. 한 작업은 얼마 없지만,, github에 열심히 심은 잔디라고 보여드리고자 github 링크까지 첨부하였다. 개인적으로 포폴과 CV 모두 길어도 보시는 면접관님들 입장에서는 다 읽기 힘드실 것 ..

Merge branch 'cssStyle' # Please enter a commit message to explain why this merge is necessary, # especially if it merges an updated upstream into a topic branch. # # Lines starting with '#' will be ignored, and an empty message aborts # the commit. Git merge git에서 작업을 하던 브랜치에서 main 브랜치에 병합하게 될 경우 fast-forward 방식과 non-fast-forward 방식이 있다. 위 에러는 non-fast-forward 방식으로 병합을 하는데 사용하는 VSCode에서 나타난 에러이..

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