일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- userdefaults
- 트레일링 클로저
- 연산 프로퍼티
- Understanding Swift Performance
- ios
- Remot Push
- property wrapper
- viewcontroller
- tableViewCell
- IBOutletCollection
- OperationQueue
- AppTransportSecurity
- DispatchQueue
- 동시성프로그래밍
- firebase
- WWDC16
- entrypoint
- Choosing Between Structures and Classes
- UIButton
- for-in
- weak
- 진입점
- uikit
- 원격 푸시
- IBOutlet
- CoreLocation
- TableView
- RunLoop
- SWiFT
- 후행 클로저
- Today
- Total
목록전체 글 (72)
iOS 공부하는 감자
AutoLayout 제약조건(Constraints)에 따라 뷰 계층 구조에 있는 모든 뷰의 크기와 위치를 동적으로 지정하는 것 View의 위치와 크기를 정하는 방법은 CGRect타입인 Frame을 통해 코드로 지정도 가능하다. 그런데 Frame을 통해 위치를 정해주면 해상도가 다른 환경에서 일관되지 않은 화면이 나온다.!화면이 작든 크든 해당 화면의 좌측 상단을 0, 0으로 기준잡고 위치를 잡아주기 때문.. AutoLayout을 사용하면 이런 문제(?)가 해결된다!-> View의 위치나 크기를 다른 객체를 이용하여 "상대적"으로 제약조건(Constrains)을 주기 때문! 즉, 위치를 잡아주려는 View가 어떤 해상도 환경에 있든지 상관없이기준 객체를 기준으로 왼쪽으로 x만큼, 오른쪽으로 y만큼 위로는 ..
스토리보드 (참고링크) 스토리보드는 iOS 애플리케이션의 사용자 인터페이스를 시각적으로 표현한 것으로 컨텐츠 화면과 해당 화면 간의 연결을 보여준다. 스토리보드는 일련의 장면(=화면?)으로 구성되며, 각 장면은 뷰 컨트롤러와 해당 뷰를 나타낸다. 장면들은 두 뷰 컨트롤러 간의 전환을 나타내는 Segue 객체로 연결된다. 스토리보드 컴포넌트 ▶ Label 하나 이상의 여러 라인을 표시할 수 있다. 설정된 사각형의 크기와 속성에 따라 텍스트를 축소, 줄 바꿈, 자르는 등의 제어를 할 수 있다. (참고) 내부 텍스트의 글꼴, 색상, 정렬, 강조 표시 및 음영을 제어 가능하다. ▶ Button 사용자의 인터렉션을 통해 커스텀 코드를 실행할 수 있다. 버튼의 텍스트, 이미지 및 기타 모양 속성을 설정 가능하다. ..
- 정리가 잘 되어있는 블로그 Deployment Target : OS 지원 버전을 의미한다. Deployment Target은 Project와 Targets에서 설정 가능하고, Targets의 Deployment Target은 Project의 Deployment Target을 override한다. Project와 Targets의 Deployment Target이 다른 경우 Targets의 Deployment Target이 Minumum버전이 된다. Targets에서 iOS 앱이 지원할 최소 버전 설정하기 : TARGETS - General - Deployment Info 에서 설정 가능 Configurations : - Debug: 커멘드+R을 사용하여 프로젝트를 Run 시킬 때 Build Config..
https://programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr 내 풀이 func solution(_ N:Int, _ stages:[Int]) -> [Int] { var failureRateDictionary: [Int: Double] = [Int: Double]() let numberOfUser: Int = stages.count var numberOfFailedUser: Int = 0 for round in (1...N)..
https://programmers.co.kr/learn/courses/30/lessons/17682?language=swift 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr 내 풀이 func solution(_ dartResult:String) -> Int { var result = [Int]() var index: Int = -1 var s: Bool = false dartResult.components(separatedBy: CharacterSet.decimalDigits.inverted).forEach({ if let number = Int(String($0)) { result.append(number) } }) for n in dartResult { switch n { ..
문자열 이어 붙이기 + 연산자 appending : 피연산자에 문자열을 이어 붙여서 새로운 문자열을 생성 append : 피연산 문자열에 직접 문자열을 추가 appending 메서드는 피연산 값이 변경되지 않으므로 side-effect가 없고, append는 피연산 값이 직접 변경되기 때문에 side-effect가 발생한다. 문자열의 특정 index 부분 가져오기 let someString: String = "abcdef" let n: Int = 3 // 1. String.Index를 통해 가져오기 let index: String.Index = someString.index(someString.startIndex, offsetBy: 3) //let result: Character = someString[..
SOLID 원칙은 객체지향 설계에 있어서 더 좋은 아키텍처를 설계하기 위해 지켜지면 좋을 5가지 원칙을 앞 글자만 가져와서 나타낸 것이다. SOLID는 다음의 약자이다. S (Single Responsibility Principle) : 단일 책임 원칙 O (Open / Close Principle) : 개방/폐쇄 원칙 L (Liscov Substitution Principle) : 리스코프 치환 원칙 I (Interfate Segregation Principle) : 인터페이스 분리 원칙 D (Dependency Inversion Principle) : 의존관계 역전 원칙 S (Single Responsibility Principle) : 단일 책임 원칙 클래스는 하나의 책임만 가져야 한다. 클래스의 ..
https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 내 풀이 처음 풀이 (6개 정도 시간 초과) func solution(_ id_list:[String], _ report:[String], _ k:Int) -> [Int] { var accumulatedNumberOfReport = [String: Int]() for eachID in id_list { accumulatedNumberOfReport[eac..
1. 비트 연산자 컴퓨터는 모든 자료를 0과 1로 이루어진 2진수로 다룬다. 그래서 모든 숫자는 0과 1이라는 비트로 표현하는데, 그 비트 단위끼리 연산할 때 사용하는 것을 비트 연산자라고 부른다. 연산자 표현 설명 NOT(부정) 비트 연산자 ~A A의 비트를 반전한 결과를 반환 AND 비트 연산자 A & B A와 B의 비트 AND 논리 연산 수행 OR 비트 연산자 A | B A와 B의 비트 OR 논리 연산 수행 XOR 비트 연산자 A ^ B A와 B의 비트 XOR 논리 연산 수행 비트 이동 연산자 (시프트 연산자) A >> B A 1) // 0 = 0000 비트 연산자는 위 코드처럼 사용하는 수학적 연산보단 비트를 검출하거나 옵션을 전달하는 목적으로 주로 사용된다. let iPhone: Int = 1 ..
수 찾기 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 128 MB 118551 35285 23309 30.066% 문제 N개의 정수 A[1], A[2], …, A[N]이 주어져 있을 때, 이 안에 X라는 정수가 존재하는지 알아내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들이 A안에 존재하는지 알아내면 된다. 모든 정수의 범위는 -231 보다 크거나 같고 231보다 작다. 출력 M개의 줄에 답을 출력한다. 존재하면 1을, 존재하지 않으면 0을 출력한다. 예제 입력 ..