본문 바로가기

IOS39

Swift 프로그램 종료하기 exit(0) Swift문법을 공부할 겸 Swift로 코딩테스트 문제들을 풀어보고 있다. 그 중 난해한 점이 있는데 바로 프로그램 종료이다. Swift는 main.swift에서 글로벌로 실행되어 따로 main함수가 없다. C같으면 return 0 로 메인함수를 종료 시켜 프로그램을 종료시킬 수 있지만 도대체 swift는 어떻게 프로그램을 종료시킬까? 찾아보니 간단하게 exit(0) 함수를 호출하여 종료 할 수 있다고 한다. 단, 주의 할 점은 Foundation을 import해야한다. 다음은 프로그램 종료 예시 이다. import Foundation var kgSugar = Int(readLine()!)! var bags = 0 while kgSugar >= 0 { if kgSugar % 5 == 0 { bags +=.. 2022. 7. 9.
Swift 삽입정렬, 선택정렬, 퀵 정렬 Swift 언어에 좀 익숙해 보고자 알고리즘에서 제일 처음에 나오는 정렬 코드를 짜보았다. 간단하게 함수, 배열, 조건문, 반복문 등을 익일 수 있었다. 1. 삽입정렬 func insertionSort(arr: inout [Int]) { for i in 1 .. 0 && arr[j - 1] > key { arr.swapAt(j - 1 , j) j-=1 } arr[j] = key } return } 2. 선택정렬 func selectionSort(arr: inout [Int]) { for i in 0 ..< arr.count { var min = i for j in i ..< arr.count { if arr[min].. 2022. 7. 3.
React Native Typescript(타입스크립트)로 프로젝트 생성하는 법 보통 React Native 프로젝트를 생성할 때 아래 명령어를 사용하게 된다. npx react-native init MyTestApp 하지만 이렇게 하게되면 자바스크립트 기준으로 프로젝트가 생성되기 때문에 나중에 타입스크립트로 전환이 쉽지 않다. 처음부터 타입스크립트로 프로젝트를 생성하면 자바스크립트와 타입스크립트를 같이 사용할 수 있게 된다. 왜냐면 타입스크립트는 자바스크립트의 Superset이기 때문이다. 다음 명령어로 React Native 프로젝트를 타입스크립트 프로젝트로 생성 할 수 있다. npx react-native init MyTestApp --template react-native-template-typescript 조금 명령어가 다소 길어보이나.. 유용하게 써먹을 수 있을 것이다. .. 2022. 3. 6.
React Native 빌드 Clean하는 법(안드로이드, iOS) 다음은 React Native 안드로이드 빌드 환경에서 build clean하는 법이다. XCODE cd ios xcodebuild clean Android cd android ./gradlew clean for windows cd android gradlew clean 2022. 2. 25.
iOS UIKit 튜토리얼 - Frame vs Bounds 이번 포스트에서 공부해볼 내용은 UIKit의 Frame과 Bounds이다. iOS에서 뷰를 출력하기 위해서는 Frame과 bounds를 지정해야 화면에 출력할 수 있다. let firstView:UIView = { let view = UIView() view.backgroundColor = .red view.clipsToBounds = true return view }() let secondView:UIView = { let view = UIView() view.backgroundColor = .blue return view }() override func viewDidLayoutSubviews() { firstView.frame = CGRect(x:20,y:100,width: 300,height: 30.. 2021. 4. 20.
iOS UIKit 튜토리얼 - UITableView - 3 // Section 이번에 포스트에서 진행할 튜토리얼은 UITableView의 Section기능이다. UITableView에는 여러종류의 데이터를 나워서 표현할 수 있는 Section이라는 기능을 제공한다. 흔히 연락처 앱에서 가,나,다 혹은 ABC 순으로 Section을 나워서 보여주는 것을 볼 수 있다. 1. Section 정의하기 section타이틀을 정의한다. 이번 포스트에서는 2개의 타이틀을 정의 하였다. let sections = ["mydata", "mydata2"] 2. 데이터 정의하기 섹션을 2개 정의 하였으므로 데이터도 두개의 데이터를 정의해준다. let myData = [ NameEmail(name: "James",email: "James@gmail.com"), NameEmail(name: "LaLa",.. 2021. 4. 17.
iOS UIKit 튜토리얼 - UITableView - 2 / TableViewCell 커스텀하기 이번 포스트에서는 지난 포스트(lucidmaj7.tistory.com/290)에서 만들었던 TableView의 Cell을 커스텀해보는 방법을 알아 보겠다. TableView Cell은 단순히 Label만 넣을 수 있는게 아니라 다양한 형태의 뷰를 표현하여 데이터를 표현할 수 있다. 예를 들면 카카오톡의 친구목록 UI를 보면 프로필사진, 이름, 알림메시지 등을 보여주고 있다. 이번에는 TableView Cell을 커스텀하여 이름, 이메일 목록이 출력되는 Cell을 만들어 보자 1. TableViewCell UI 레이아웃 수정하기 지난번 추가해놓은 TableViewCell에 두개의 Label을 추가해준다. 하나는 이름이 출력되고 다른 하나는 Email이 출력 될 것이다. Identifier는 MyCell이라.. 2021. 4. 9.
iOS UIKit 튜토리얼 - UITableView - 1 오늘 공부해 볼 iOS의 UIKit은 UITableView이다. UITableView는 보통 리스트를 나타내는 기능을 수행한다. 아래와 같은 화면은 많이 보았을 것 이다. 스크롤로 이루어진 뷰에 콘텐츠를 표시하며 보통 연락처, 설정 화면을 구성하는데 쓰인다. 0. 프로젝트 생성 우선 xcode에서 swift, storyboard기반 iOS application 프로젝트를 생성한다. 1. UITableView 추가 & TableView Cell 추가 다음과 같이 Table View를 찾아 ViewController에 추가해준다. 그다음 Table View Cell을 TableView에 추가해주자. 그리고 추가한 Cell에 Identifier를 설정해준다. "MyCell" 2. ViewController에 .. 2021. 4. 8.
모바일앱 개발 스택 정리 OS 초창기 스마트폰 시장은 Windows Mobile, 심비안 등 다양한 OS가 출시 되었으나 현재 안드로이드와, iOS가 주를 이루게 되었음. 현재 서비스는 안드로이드, iOS 를 주로 서비스함. 네이티브(Native) 가장 고전?적이며, 안정적인 앱 개발 기술 각 스마트폰에 최적화된 기술을 사용 함으로써 최적의 성능, 안정성, 기능을 활용 할 수 있음. 운영체제 별로 별도로 개발 하여야 하며, 서로 언어, 개발환경이 매우 상이 함으로 개발 비용이 증가함. 개발 비용의 증가로 유지보수성이 떨어 질 수 있음. 하이브리드(Hybrid) 주로 웹 프론트엔드 기술과 네이티브 기술을 혼합하여 개발. 웹 프론트엔드기술의 눈부신 발전으로 다양한 UI, 기술이 구현가능함. 프론트엔드 개발자가 일부 개발이 가능하여 .. 2020. 9. 28.