본문 바로가기

모바일앱199

swift - Boolean 안녕하세요 오늘은 Boolean , 줄여서 Bool 이라고 Bool리우는 데이터형태를 가지고 이야기 해볼거에요 불리안은 다른 언어에도 거의 대부분등장하는데요. 이것은 원래 논리학에서 참과 거짓이라고 불리우는 것에서 시작되었다고 합니다. 그래서 이 형태의 값은 참 : True 거짓 : False 두가지의 형태를 지닙니다. 불리언은 - 값 자체를 가지고있는 Bool타입의 변수 // 문이 열려있는지 보는 변수 var isDoorOpened = true // 토글 스위치가 켜져있는지 나타내는 함수 var isSelectedToggleBtn = false 우리는 앱을 만들어야하니까 앱을 가지고 예를 들어보면, 버튼 같은 것을 눌렀을 때, 반응을 해야하죠? 그럴때, 이런 Bool타입을 사용합니다. 스위치를 켜고 끌.. 2022. 2. 10.
swift - 튜플 Swift에서 튜플이란 다양한 값(데이터)들의 묶음이라고 할 수 있다. 튜플의 구성요소들은 서로 같은 타입이 아니어도 상관없고, 같은 타입을 여러개 사용해도 상관없다. ( ex : x, y 좌표 ) 또한 튜플안에 들어갈 수 있는 값들의 갯수도 사용하고 싶은 만큼 사용할 수 있다. 튜플의 사용법 변수나 상수를 선언한 뒤 원하는 데이터 값들을 ()에 묶어서 넣어주면 된다. 튜플에서도 타입추론이 적용되기 때문에 데이터 타입을 생략하여 아래처럼도 사용 가능하다. // var 변수명 : (데이터 타입1, 데이터 타입2, 데이터 타입3) = ( 값1 , 값2 , 값3) // var 변수명 = ( 값1 , 값2 , 값3) var tuple : (String, Int, Bool) = ("John", 200, true).. 2022. 2. 8.
Swift - 코멘트 처리하기 안녕하세요 오늘은 코딩을 하다가 여러번 사용할 아주아주아주 중요한 기능을 배워보겠습니다. 바로 코멘트 처리에요~ 코멘트는 1. 이게 뭔지 까먹을 미래의 나에게 보내는 메세지 2. 인수인계 받을 동료에게 3. 여러 케이스를 급하게 이리저리 바꿔가면서 대조할 때 등등등 의 경우에 사용합니다. 정말 유용하죠. 한줄 주석처리하기 // 뒤에 글을 쓰거나 주석처리 하고 싶은 글 앞에 // 를 입력합니다. 혹은 커서를 원하는 곳에 두고 커맨드 + / ( ⌘ + / ) 를 누르면 주석처리가 됩니다. 여러줄 주석처리하기 /* */ 사이에 글씨를 입력하거나. 주석처리하고 싶은 글의 양 옆에 /* */ 를 입력할 수도 있어요. 혹은 원하는 줄만큼 블록설정을 하고 커맨드 + / ( ⌘ + / ) 를 누르면 주석처리가 됩니다... 2022. 2. 7.
Xcode 세팅하기 XCode 소개 IOS를 사용하기위해서는 Xcode라는 Apple 자사의 IDE를 사용합니다. Xcode에서 Mac, iPhone, iPad, Apple Watch 및 Apple TV를 위한 앱을 빌드할 수 있습니다. 다른 언어를 공부하려면 세팅하는데 한나절이 걸리고 운나쁘면 몇일 몇주도 걸리지만 우리의 Xcode는 So Cooooooool해서 클릭 몇번으로 끝납니다. Apple Deloper License 우리가 처음 swift라는 언어만을 사용하는 것은 Xcode에서 제공하는 PlayGround 만을 사용해도 상관없지만 개발을 할때에는 Xcode의 일반 프로젝트를 열어서 사용해야합니다. 또한 여기에서 앱을 빌드하기위해서는 Apple Developer License를 인증해야합니다. 아마도 이 이유가 .. 2022. 2. 6.
알려줘_IOS 시리즈 서문 안녕하세요 기꼬입니다. 이제 IOS개발자가 된지 몇달이 지났네요. 저희 회사는 신입교육이 있고, 이후 첫 업무는 크로스플랫폼을 맡게되어 AOS, IOS 둘다 다루게 된답니다. 그래서 크로스 플랫폼을 맡게 되면서 벌써 IOS에서의 많은 것들이 가물가물해지기 시작했어요. 매일매일 밥먹듯이 만지다보면 달라지겠지만, 아무래도 전 하룻강아지니까 더 조심스러워요. 그래서 언젠간 들어올 제 후임에게 가르쳐준다는 느낌으로 글을 풀어나갈 예정입니다. 부족한 글솜씨와 설명이지만 많은 분들의 피드백 부탁드립니다. 먼저 순서입니다. IOS의 간단한 소개를 마치고 Apple의 언어인 Swift에 대한 간단한 설명을 넣을 예정입니다. 말이 간단이지... 간단하지 않아요.. 하지만 있죠 영어를 마스터하는 것과 간단한 영어 문장을 .. 2022. 2. 5.
serial(직렬)과 Concurrent(동시) 저번시간에 queue.async { task } 또는 queue.sync { task } 를 통해 task를 queue로 보냈다 그리고 쌓여 있는 task 들을 다른 스레드로 보내야하는데 GCD 혹은 Operation의 선택은 어떻게 될까 1. 한개의 스레드에 몰아 넣는다 2. 여러개의 스레드에 나눈다 뭐 둘 다 가능 이때, 둘 중 어떤 방식을 선택할건지queue 특성에 따라 결정된다 Serial queue (보통 메인 스레드에서) 분산 처리 시킨 작업을 “다른 한개의 스레드에서” 처리하는 큐 Concurrent Queue (보통 메인 스레드에서) 분산 처리 시킨 작업을 “다른 여러개의 스레드에서” 처리하는 큐 어떤 큐를 사용할 것인지에 대한 핵심 포인트는 바로 작업 순서의 중요도에 있습니다. Seria.. 2022. 1. 17.
Operation Operation GCD는 우리가 Queue에 작업을 보내면 그에 따른 스레드를 적절히 생성해서 분배해주는 첫번째 방법이라고 지난 글에 올렸다. Operation 도 비슷한 기능을 한다. Operation에서 사용하는 queue의 이름은 Operation Queue 이 녀석도 내부적으론 GCD 위에서 동작하지만 몇 가지가 추가된다. 동시에 실행할 수 있는 동작의 최대 수 지정 동작 일시 중지 및 취소 정리하자면 해야하는 작업들은 기본적으로 따로 지정하지 않는 한, 메인스레드에서 처리하게 되어있다. ios에서는 이것을 queue라는 곳으로 보내면 작업들은 그 곳에서 선입선출로 처리 하게 된다. 그래서 이 다수의 일들을 스레드에 분배하는 기술들중의 하나가 - GCD (Grand Central Dispatch.. 2022. 1. 15.
Dispatch GCD는 우리가 Queue에 작업을 보내면 그에 따른 스레드를 적절히 생성해서 분배해주는 첫번째 방법입니다. 그리고 GCD에서 사용하는 queue의 이름이 Dispatch Queue 인거죠! 즉! Dispatch Queue에 작업을 추가하면 GCD는 작업에 맞는 스레드를 자동으로 생성해서 실행하고, 작업이 종료되면 스레드를 제거하게 됩니다. DispatchQueue: iOS에서 동시성 프로그래밍을 돕기 위해 제공하는 queue global: DispatchQueue의 종류 async: 비동기 global dispatch queue에 비동기로 task를 보낸다 2022. 1. 14.
링크에 한글이 있는 경우 한글이 포함된 url string으로 URL 컨버팅을 해줄 경우, nil 값이 반환되는 문제가 발생했다. URL의 string: 은 영문, 숫자와 특정 문자만 인식 가능하고, 한글, 띄어쓰기 등은 인식하지 못한다고 한다. 따라서 한글이 포함되어있는 url String을 따로 인코딩해주는 작업이 필요하다. let urlStr = let encodedStr = urlStr.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)! let url = URL(string: encodedStr)! 2022. 1. 13.
로그아웃구현 - push와 present 그리고 NotificationCenter, View의 생명주기 지난 두 글에서 비슷하지만 다른 두가지의 뷰를 전환하는 방식을 다루었다. View와 View를 연결하는 방식 https://h1guitar.tistory.com/164 push와 present 안녕하세요 오늘은 앱을 개발하는 과정에서 기본적으로 요구하는 화면전환에 대해서 알아보겠습니다. 기본적으로 화면을 전환하는 방식은 Navigation을 이용해서 Stack처럼 쌓아가는 방식과 그냥 h1guitar.tistory.com present 세로 방향으로 전개되는 View UIViewController의 메소드 실행시키면 기존의 UIViewController 위에 새로운 뷰를 띄운다. 이전 뷰로 돌아가기 위해서는 dismiss push 가로 방향으로 전개되는 View UINavigationController의.. 2022. 1. 12.