본문 바로가기

ios6

[iOS] 솝커톤 후기, Client들이 해야할 일 인트로 SOPT인이라면 누구나(?) 하고싶어할 해커톤! 29기 솝커톤을 다녀오고나서 배운점을 기록하려고 한다. 이번에는 오프라인팀과 온라인팀으로 나눠서 해커톤이 진행이되었다. 나는 오프라인 iOS파트로 지원을 해서 아슬아슬하게 문닫고 참여할 수 있었다. 처음에는 내가 너무 감자인지라 괜히 참여해서 구현도 못하고 민폐만 끼칠까바 신청을 고민했다. 하지만... OB분들의 많은 응원과 격려 덕에 신청할 수 있었다..(슨배덜아 사랑해..🔥) 주제 이번 29기 솝커톤의 주제는 "공동체"였다. 공동체라는 단어가 가지고 있는 의미가 너무 강했던지라, 처음에는 아이디어를 떠올리기에 막막했었다. 어떻게 해야하지..? 고민하고 있을 찰나에 기획분들께서 바로 아이디어 브레인스토밍을 진행해 주셨다. 협업 툴인 '피그마'을 사.. 2021. 11. 24.
[iOS] iOS 앱의 뷰 설계하는법 이 글을 쓰는 이유는 실제 앱의 View를 설계하는데 어려움이 있으신 분들께 도움이 되고자 쓰게되었습니다.! 본 게시글에 나오는 캡쳐본의 디자인은 SOPT 클디 1조 '세탁특공대' 디자인팀께서 만들어주셨습니다.(멋쪄....)(함부로 베껴가지 마세욤..!) 1. UI View 설계하기 뷰는 총 2개로 제가 Main View를 구현하고, 다른 팀원 분께서 Guide View를 구현해주셨습니다. 구현하기에 앞서 뷰를 보고 어떤 구조로 짤 것인지 설계하는 것이 중요합니다. 위와 같은 디자인에서 한 화면에 위의 화면들을 다 담을 수 없기 때문에, 스크롤되어야 하는 것은 필수적일 겁니다..! 스크롤 뷰형태로 구성하려면 저희에게는 선택지가 3개가 있습니다. Scroll View Table View Colection .. 2021. 11. 23.
[iOS] 다른 스토리보드로 화면전환하는 법(code, storyboard reference) 원래 한개의 스토리보드에 여러 뷰컨트롤러를 넣어 작업을 했었다. 한개의 스토리보드에는 한개의 뷰컨트롤러만 넣는것이, 나중을 위해(느려지는 문제나,,, 기능별로 나누기위해..?) 좋다고 한다. 그래서 나눠서 작업을 하고 싶었다. 요로코롬 있는 Main스토리보드에서 "확인" 버튼을 누르면 짜잔! Tabbar라는 이름의 스토리보드의 MainTBC(TabBarController)로 연결을 해주고싶었다. 1차 시도 (https://swieeft.github.io/2020/02/24/StoryboardReference.html) 구글링을 해보니 코드를 사용하지 않고 스토리보드에서 StoryBoard Reference 를 만들어서 연결해서 어쩌구 저쩌구 연결하는 방법을 해봤다..! (위의 사이트를 통해..!) 그 결.. 2021. 11. 15.
[iOS] WirdCard Pattern, 와일드카드 패턴 와일드카드 패턴이란? 값을 해체하거나 무시하는 패턴중 하나입니다. 매개변수에서 많이 사용했던 와일드카드( _ )를 사용한다는것은 이 자리에 오는 것들을 Don't care 하라는 말이다. 와일드카드 식별자가 위치한 곳의 값은 무시해라! 이 패턴은 for구문이나, switch구문에 많이 사용된다. //for문을 사용한 예제 for _ in 1…2 { print("hello") } for 뒤에 오는 변수를 사용하지 않을 경우. 즉, 특정 작업만 두번 반복할 경우에 와일드카드를 사용함으로써 불필요한 변수선언을 막고 특정 작업에 집중할 수 있도록 합니다. 즉, for문에서 와일드 카드 식별자를 사용하면 해당 변수를 쓰지않고 범위 지정자를 통해 지정해준 범위만큼 for문이 돈다고 생각하면 된다. //함수를 사용할.. 2021. 11. 14.
[iOS] Protocol과 Delegate 프로토콜 특정 기능 및 역할을 수행하기 위해 필요한 것들이 적혀있는 설명서와 동일한 개념 특정 역할을 수행하기 위한 메서드, 프로퍼티, 기타 요구사항 등이 적혀있는 하나의 "설명서" 다. 프로토콜 채택이란 "이 설명서를 드릴테니, 여기 나와있는대로 구현해주세요" 라고 다른 타입(구조체,클래스,열거형)에게 전달하는 것이 가능하며, 이 행위를 프로토콜 채택이라고 한다. 프로토콜은 protocol이라는 키워드를 사용해 내부 블럭 안에 필요한 부분들을 정의한다. (프로퍼티, 메서드, 이니셜라이저 등 필요한 요구사항을 적는다) protocol Talkabl { //프로퍼티 요구 var topic : String { get set } var language : String { get } //메서드 요구 func t.. 2021. 10. 31.
[iOS] Life Cycle Life Cycle(생명주기)란? 태어나고 죽기까지 하나의 연결된 과정. 우리가 개발할 iOS APP 또한 생명주기가 있다. 앱의 상태(App State) 변화 Not Running 앱이 실행되지 않거나 종료된 상태 Inactive foreground에서 running되고 있지만, 이벤트는 수신하지 않는 상태. 전화를 걸었을 때, SMS 메세지가 수신되었을 때의 짧은 순간 Active foreground에서 실행되고 이벤트를 수신하는 상태 Background 앱이 background에서 실행되고 코드를 실행시키는 상태. 파일 다운로드나, 업로드 등 실행 시간이 필요한 앱인 경우 특정 시간동안 이 상태로 남아있게 되는 경우가 있음 앱이 suspended 상태에서 다시 실행되면 앱은 background → .. 2021. 10. 16.