- Total
목록분류 전체보기 (209)
꿈꾸는리버리
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dEERUy/btrC2hqsBci/f7K4qtgo7U05OqtLwsI9h0/img.png)
frame과 관련해서 모르는 게 많아서 이참에 정리를 해보기로 했다! 최종적으로 만들고자 하는 화면은 다음과 같다 ! frame, 왜 필요할까 ? 좌측의 기본 화면을 우측의 화면처럼 만들고 싶다 !! 어떤 코드가 떠오르는 가? 나는 다음과 같은 코드가 떠올랐다..! HStack { Text("Hello, World!") Spacer() } 그럼 이런 화면은 ? 나는 .. 이런 코드가 떠올랐다 ! VStack{ HStack { Text("Hello, World!") Spacer() } HStack { Spacer() Text("Hello, World!") } } ..! 근데 위 코드들이 가독성이 좋은 가..? NOOO !! 바로 위에서 봤던 예시는 spacer 없이 frame을 이용해서 간단하게 나타낼 수..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dh24YS/btrCYwa7lGQ/WToGVileJyIPMnjkdJz7o1/img.png)
개발을 하다보면 이런식으로 Color 설정을 위해 긴 코드를 작성하기도 한다. 하지만 해당 색깔이 어떤 컬러인지 직관적으로 확인하기도 어렵고, 여러 컴포넌트에서 사용이 된다면 재사용성 또한 떨어진다. 게다가 만약에 dark mode와 light mode color를 구분해서 개발하고 싶다면...? 본 포스팅은 이를 위한 내용이다 ! 1) Asset에서 색을 좌) light mode , 우) dark mode 로 설정합니다. +) 이 색은 “CustomColor”라고 이름 지었습니다. 2) Asset에 추가했던 color를 불러올 수 있습니다 ! But,, 이렇게 "CustomColor"처럼 String으로 넣었을 때는 오타 발생가능성이 있을 수도 있겠죠..? 3) Color을 extension해서 cus..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/RefFi/btrC2gdBmMe/8PqUZ5p8dKVPqjZWmWuFbK/img.png)
나도 dark mode 를 반영한 앱을 만들어보고 싶었고 그래서 preview에서 dark mode 색을 확인해야 했다 ! Dark mode HIG 1) 기존 lightmode에서 보이는 View 2) inspector를 사용하여 Darkmode를 설정할 수 있습니다. 이렇게 darkmode를 설정하자, 좀 더 어두운 green 컬러로 좀 더 어두워지신 게 느껴지시나요 ? ( 초록색 컬러는 custom color 포스팅에서 light 모드와 dark 모드 두가지 color로 설정해놨습니다 ! ) inspector에서 설정한 대로 프리뷰 코드에서도 다크모드가 보이도록 코드가 추가된 것을 확인할 수 있습니다. 4) 추가로 프리뷰를 lightmode와 darkmode 같이 보고싶다면, 이렇게 lightmode..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lrYPq/btrC2vnSrAI/2UMtYaqUk74K61WooxpJJ0/img.png)
백준 풀다가 두개 개념이 다른가 ? 싶어서 찾아봤다 ! 공통점 두 method 모두 collection의 마지막 element를 제거하고 반환하는 method이다. 차이점 - popLast()는 반환값이 optional이다 ! var nums = [1, 2, 3] nums.removeLast() // 3 nums.removeLast() // 2 nums.removeLast() // 1 nums.popLast() // nil nums.removeLast() // 에러 ! 이렇게 배열의 값이 비었을 때 popLast()를 하면 nil 값이, removeLast()를 했을 때는 에러가 뜬다 ! 뭘 쓸까 ? 우선은 배열의 값이 무조건 있다고 확신하는 경우에는 removeValue() 메소드를 써도 되지만, 빈 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/mWGMZ/btrCvJ2D1ez/kHBkkvelow2REetQrgLmV0/img.png)
➯ Black 컬러는 공식 문서에 적혀있는 것을 해석해서 적은 것이고 Gray 컬러는 저의 개인적인 생각을 추가로 작성한 것입니다 :) 보라색은 잘 모르겠거나 이야기 나눠보고 싶은 point들 입니다 1) iOS Design Theme 앱 스토어 상단에 있는 앱을 만들기 위해서는 앱의 품질과 기능에 대한 기대를 충족시켜야 한다. iOS에는 다른 플랫폼과 구별되는 세 가지 theme 이 있다. theme : 대 주제 💡 Clarity text는 모든 크기에서 쉽게 읽혀야 한다. -> font 13 이렇게 하는 것보다 .title 처럼 coding을 해서 사용자가 시스템에서 폰트 크기를 바꿨을때 같이 변경이 되어야 한다..? icon은 명확하게 표현되고 이해하기 쉬워야 한다. -> 프로필 "추가"를 나타내는..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cz7f8G/btrCw8fwhVe/PQsatyPI8a0YpkkmHAwcN1/img.jpg)
문제 https://www.acmicpc.net/problem/10972 10972번: 다음 순열 첫째 줄에 입력으로 주어진 순열의 다음에 오는 순열을 출력한다. 만약, 사전순으로 마지막에 오는 순열인 경우에는 -1을 출력한다. www.acmicpc.net 풀이방법 아래는 12345가 입력으로 들어왔을 때 사전순으로 다음에 오는 순열을 구하는 프로그램의 일부이다. 당연한 말이지만,, 아래 flow의 규칙성을 찾아야 한다. 12345 12354 12435 12453 12534 12543 13245 13254 ... 54321 이 사전순으로 다음에 오는 순열을 구하는 프로그램에는 다음과 같은 규칙이 있다. 작성한 코드는 다음과 같다. import Foundation let N = Int(readLine()!..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/by51VP/btrGSy3MeKC/hA0Lxov2DHfaBPTkK5kv11/img.png)
이전 포스팅에서 optional의 개념과 optional을 unwrapping하는 방법에 대해서 알아봤는데, 느낌적으로 optional binding을 하는 게 최고구나 ! 라는 것을 느꼈을 거다 ㅎㅎ 💡 optional chaining 이제 더 나아가서 optional binding과 함께 사용하면 좋은 optional chaining에 대해서 알아보자 ! 하단에는 한 사람의 주소를 나타내기 위한 struct들이다.. person -> address -> building -> room 이렇게 접근이 된다. struct Person{ var name : String var address : Address? } struct Address{ var city : String var building : Buil..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/RT0ET/btrB5Lz3RrN/nRKkHSFJRa98U1nNukekL0/img.png)
옵셔널이 뭔지는 알고 있었는데, 정확하게 몰라서 그냥 가장 쉬운 방법인 !로 강제 추출해서 사용을 했었다. 매번 하루 날 잡고 공부해야지... 해야지... 하다가 이제서야 각잡고 optional 공부를 했다. optional을 공부하면서 든 생각은 optional 덕분에 swift는 다른 언어들 보다 좀 더 안전적이고 암묵적인 커뮤니케이션이 가능하게 된 것 같다는 생각이었다. 🧚🏻♀️👍🏻✨ 💡 optional 이란 ? swift에서 optional은 변수나 상수에 값이 있을수도, 혹은 없을수도 있다는 의미로 사용이 된다. 이때 주의할 점은 Int 형 일 때 0이나, String형 일 때 ""(빈 문자열이라는 의미)도 값이 들어가 있는 것이다. 정말로 값이 없을 때만 nil이라고 한다. 처음에는 opti..