일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ruby설치
- Break
- swift
- 프로그래머스 조건에 맞게 수열 변경하기 3
- array
- 프로그래머스 주사위 게임1
- 프로그래머스 n번째 원소까지
- n번째 원소까지
- 객체지향
- 조건에 맞게 수열 변경하기 3
- 문자열 정렬하기 (1)
- 연산자
- 프로그래머스 최댓값 만들기(2)
- 프로그래머스 문자열 붙여서 출력하기
- 프로그래머스 문자열 정렬하기 (1)
- 프로그래머스 n의 배수 고르기
- 프로그래머스
- 프로그래머스 암호 해독
- 스파르타 코딩클럽 내일배움캠프
- Error installing cocoapods
- 스파르타코딩캠프
- Til
- 프로그래머스 자동커밋
- 배열 만들기1
- 스페인어
- 문자열 붙여서 출력하기
- cocoapods 설치 오류
- 주사위 게임1
- 프로그래머스 배열 만들기1
- continue
- Today
- Total
목록Dev/SWIFT (79)
dev._.note
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/vYiRr/btsEcqfUnG3/YWCDcH0yTjk1cmD8LQcYkK/img.png)
프로젝트 생성 후 네트워크 통신 시 동작되지 않는 문제가 발생한다.(동영상 재생이 안되는 문제가 있었음) 안드로이드의 Manifest에 Internet 권한을 주는것 처럼 ios에서도 권한을 추가 해야한다. plist에 App Transport Security Settings >> Allow Arbitrary Loads : YES 로 추가 해주면 되지만, XCode 버전에 따라 옵션이 없는 경우가 있어 이경우에는 수동으로 권한을 추가해 주어야 한다. info > Open As > Source Code 를 선택 하면 xml형식의 소스 코드를 볼수 있다. 다음 옵션을 수동으로 추가하면, 정상적으로 사용할수 있다. NSAppTransportSecurity NSAllowsArbitraryLoads
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qmaP7/btsEa8Tf6YL/inksPsXeHIgFskUz6AbrG0/img.png)
MVC · 애플리케이션을 세 가지 주요 논리 구성 요소인 Model, View, Controller로 분리하는 아키텍처 · 비즈니스 로직과 프레젠테이션 레이어를 서로 분리함 https://www.guru99.com/mvc-vs-mvvm.html · Model: 로직과 관련된 모든 데이터를 포함 · View: 사용자에게 데이터를 표현하거나 유저와 상호작용을 처리함 · Controller: 모델과 뷰 구성요소 간의 인터페이스 MVVM · 애플리케이션을 세 가지 주요 논리 구성 요소인 Model, View, ViewModel로 분리하는 아키텍처 · 마틴 파울러의 Presentation 모델 패턴에서 파생된 디자인 패턴 · MVVM 패턴의 목표: 비즈니스 로직과 프레젠테이션 로직을 UI로 부터 분리하는 것 - ..
replacingOccurrences(of:with:) 특정 문자열에 해당하는 곳의 문자열 치환 self에서 of 문자열 부분을 with으로 변경 replacingOccurrences(of:with:) | Apple Developer Documentation Returns a new string in which all occurrences of a target string in the receiver are replaced by another given string. developer.apple.com let sampleStr = "12345" let newStr = sampleStr.replacingOccurrences(of: "2", with: "vv") print(newStr) // 1vv345
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/uMyYv/btsDmo85imP/vSepzoGy6sTgHl8z4FKx90/img.png)
Action Segue를 활용하여 전환하기 @IBAction func tapListButton(_ sender: Any) { performSegue(withIdentifier: "showListView", sender: nil) } Manual Segue를 활용하여 전환하기 @IBAction func tapListButton(_ sender: Any) { //Present //WishListViewController를 가져오는 코드 guard let nextVC = self.storyboard?.instantiateViewController(withIdentifier: "WishListViewController") else { return } //modalTransitionStyle 지정하는 코드 sel..
lazy란? lazy 저장 프로퍼티는 처음 사용되지 전까지 초기값이 계산되지 않는 프로퍼티이다. (메모리에 올라가지 않는다.) 변수(var) 앞에 lazy를 선언함으로써 사용할 수 있다. lazy는 var(변수) 앞에 사용 초기 값은 인스턴스 초기화가 완료 될 때까지 검색되지 않을 수 있기 때문에 변수로 선언해야한다. 상수(let)은 초기화가 완료되기 전에 항상 값을 가지고 있는 상태이어야 하기 떄문에 lazy로 선언할 수 없다. struct Hello { init() { print("Hello 생성") } } struct Hello2 { init() { print("Hello2 생성") } } struct Hi { var name: String //lazy //lazy 키워드를 사용하면 인스턴스 생성이..
Decodabe, Encodable, Codable Decodable 프로토콜 Decodable 프로토콜은 데이터를 객체로 디코딩할 때 사용됩니다. 즉, 외부 데이터(JSON)를 Swift의 데이터 모델로 변환하는데에 필요한 프로토콜입니다. **Decodable**을 준수하는 객체는 외부 데이터를 해석하고 그 데이터를 객체의 프로퍼티로 매핑할 수 있어야 합니다. 이곳에서 CodingKeys 는 디코딩 할 때, 프로퍼티들에 대한 매핑을 제공하는 역할을 합니다. 아래 예시에서는, id라는 프로퍼티의 디코딩 키를 key로, name 프로퍼티의 디코딩 키를 프로퍼티 이름과 동일하게 지정한 예시입니다. struct User: Decodable { let id: Int let name: String // 다른 프로..
URLSession URLSession은 네트워크 데이터를 가져오거나 보내는 작업을 수행합니다. URLSession의 주요 특징 비동기적 네트워킹 (Asynchronous Networking) URLSession은 비동기적으로 네트워크 요청을 처리하므로, 네트워크 작업이 백그라운드에서 수행될 수 있습니다. 이는 앱의 성능을 향상시키고 응답성을 유지하는 데 도움이 됩니다. 다양한 데이터 전송 방식 지원 URLSession을 사용하여 데이터를 업로드하거나 다운로드할 수 있으며, JSON, 이미지, 파일 등 다양한 데이터 형식을 처리할 수 있습니다. 이번 숙련 챕터에서의 예제는 JSON 데이터를 다운로드하여 사용합니다. 캐시와 쿠키 관리 URLSession은 네트워크 응답을 캐싱하고 쿠키를 관리할 수 있는 기..
URL 구성요소 각 구성요소들은 API 엔드포인트와 함께 특정 자원에 대한 요청을 식별하고 전달하는 데 사용. 프로토콜 (Protocol) URL은 일반적으로 http:// 또는 **https://**와 같은 프로토콜로 시작합니다. 이는 클라이언트와 서버 간의 통신 방법을 지정합니다. **http://**는 보안 없는 통신을, **https://**는 SSL/TLS 암호화를 사용하여 보안된 통신을 나타냅니다. 도메인 (Domain) 도메인은 API 서버가 호스팅되는 서버의 주소를 나타냅니다. 예를 들어, **api.example.com**은 API 서버가 위치한 서버의 도메인 주소입니다. 포트 (Port, 옵션) 포트 번호는 서버에서 API 요청을 수신하는데 사용되는 포트를 나타냅니다. 대부분의 경우 H..