iOS

·iOS
배열안에 tuple을 넣기 위해서 저렇게 하나씩 초기화를 해주어야 한다 var queue : [(x: Int, y:Int)] = [] queue.append((1, 1)) queue.append((1,2)) queue.removeFirst() print(queue) 굳이 x, y 인자를 사용하지 않는다면 생략해주어도 괜찮다 var queue : [(_: Int, _:Int)] = [] queue.append((1, 1)) queue.append((1,2)) queue.removeFirst() print(queue)
·iOS
stride(from: , to: , by: ) 를 사용하여 증감을 설정할 수 있다. let minutes = 60 let interval = 5 for i in stride(from: 0, to: minutes, by: interval) { print(i) }
·iOS
// 10진수 -> 2진수 let num: Int = 10 let binary_num = Int(String(num, radix: 2))! print(binary_num) // 2진수 -> 10진수 let binary_num = "1010" let num = Int(num, radix: 2)! print(num)
·iOS
코딩테스트의 구현문제를 위해 빠질 수 없는 문자열처리에 대한 Swift 문법을 정리해보자 1. 문자열 입력받기 Swift에서 readLine() 함수를 사용해서 한줄 읽어들일 수 있는데, 이때 nil 값이 들어올 수 도 있으므로 Swift는 readLine 함수가 Optional 타입의 String을 반환하게 설계한듯하다 어처피 백준에서 옵셔널 처리할 일은 없으므로 강제옵셔널 (!) 처리를 해준다. var input = readLine()! // 문자열 하나 입력받기 2. 문자열의 원소를 하나씩 출력하기 !! Swift는 input[1] 이런식으로 바로 Int 값으로 인덱스 접근이 허용되지 않는다 !! index() 메소드를 이용해서 인덱스를 가져온 후 가져온 인덱스로 문자열에 접근해야 한다 for i ..
·iOS
Swift로 코딩테스트를 볼 일이 생겨서 준비를 하는 중에 정리해보고 있다. 새삼 Swift는 기본 문법의 내장 함수 파라미터 이름 하나하나가 정교하다는 느낌을 받는다.. ex) print() 함수의 separator: 라던지.. 그리고 고차원 언어이므로 지원하는 내장 함수나 기능이 풍부하다 !! Python 만큼 대중화(?) 되지 않아서 그렇지 있을건 다 있는 함수이고, 다만 코딩테스트 볼 때는 옵셔널한 값을 받지 않을것이므로 옵셔널 강제 해제를 해주고 있다. 원래 PS때 쓰던 언어가 파이썬이므로 파이썬과의 비교가 있을 수 있습니다(!) 백준 기준으로 보통 이렇게 많이 입력을 받는다 배열에 대한 정보가 주어지기 이전에 배열의 세로길이와 가로길이를 먼저 입력받고, 2차원 배열을 입력받는 코드에 대한 예시..
1. 성능이 좋다 (with 반박불가한 그래프..) 그림에서 보는 것과 같이 초당 처리하는 쿼리수가 월등히 많다. 구글, 아마존, 라인 등 대기업에서도 realm을 많이 사용한다 !! 레이블러리는 스크린샷 관리 앱이고, 사진 데이터가 많아질 수 있을 것 같아서 이왕이면 성능이 좋은 realm이 좋을 것이라고 생각했다. 2. SQL 쿼리문을 일일이 작성하지 않아도 된다. 대신 realm의 API를 사용해 간단하게 처리할 수 있다. 단점 - 대신 확실히 realm의 사용방법을 익혀야 한다 , 그렇지만 add, delete, create 방법이 간단했다. 3. 서버와의 동기화 서버에서도 realm을 사용한다면, 모바일 디바이스와 서버간 실시간 동기화가 가능하다 4. Realm Studio 가 있어서 UI를 통..
·iOS
The file "xxx.xcuserdatad" could not be unlocked. Could not add write permission to the file because you do not own it. Try modifying the permission of the file in the Finder or Terminal. 분명 난 사용자권한을 가지고 있는데 이런 에러가 났다.. 터미널에, 폴더의 경로 위에서 sudo chmod -R 774 폴더이름(현재 xcode project가 있는 폴더 이름) 명령어를 치니까 해결되었다 !!!
·iOS
Publishing changes from background threads is not allowed; make sure to publish values from the main thread (via operators like receive(on:)) on model updates. 에러가 났다. 앱이 종료되지는 않았지만 Xcode에서 확실하게 경고를 주고 있다. 의미는 내가 지금 DispatchQueue를 사용해서 비동기 처리를 하려고 하는데, 코드의 위치가 main thread가 아니라 background thread이라는 것 같다. 난 저 이미지들을 IDLE 상태로 모두 바꿔주는 처리를 한큐에 해버리고 싶은데, 왜 이게 위험하다는걸까 ? 1. Main thread Main thread 는 오직 하..
minjiwoo
'iOS' 카테고리의 글 목록