분류 전체보기

    [iOS] App Project 속성 | Xcode Project / Project / Target

    [PROJECT] : 모든 파일, 리소스, 소프트웨어 빌드에 필요한 모든 정보의 저장소 프로젝트에는 앱을 구축하는 데 사용되는 모든 요소가 포함되어 있으며, 해당 요소 간의 관계(relationships)를 유지한다. 프로젝트는 product를 build하는 방법을 명시하는 target을 하나 이상 포함하며 모든 target에 대한 기본 build setting을 정의한다. Info Deployment Target: 지원하는 최소 OS 버전 Configurations: Debug / Release build setting (보통 코드를 실행할 때 - Debug, Archive할 때 - Release)⇒ 보다 더 다양한 환경에서 테스트를 하기 위해 configuration을 추가할 수 있음 ex. 개발 버..

    [iOS] info.plist | Xcode 12

    Info.plist = Information Property List Files Info.plist는 Xcode 프로젝트를 생성하면 자동으로 생성되며 실행 패키지에 관한 필수 설정 정보가 포함된 XML을 사용하여 구조화된 텍스트 파일이다. iOS 어플리케이션의 기본정보를 담아 놓을 수 있는 설정파일이라고 할 수 있다. XML은 Key, Value로 구성된 Dictionary 형태이다. 시스템은 이 키와 값을 이용하여 앱과 앱의 설정을 가져온다. 💡 특정 키 or 값을 편집하려면 값을 더블클릭하여 선택한 다음 새 값을 입력한다. 💡 새로운 키를 추가하고 싶다면 (+) 버튼을 누르거나 임의의 키를 클릭하고 엔터를 치면 해당 키 아래에 새로운 키가 나타난다. [ Information Property List ..

    [iOS] Completion Handler을 이용한 Loading Progress 구현

    GitHub - krimpedance/KRProgressHUD: A beautiful and easy-to-use progress HUD for your iOS. A beautiful and easy-to-use progress HUD for your iOS. - GitHub - krimpedance/KRProgressHUD: A beautiful and easy-to-use progress HUD for your iOS. github.com KRProgressHUD를 이용하여 Loading Progress를 구현해보자. 이제 pod init - pod '사용할라이브러리' - pod install의 루틴에 완벽 적응 ^-^v Completion handler는 어떠한 일이 끝났을 때 진행할 업무를 담당하..

    [Algorithm] DFS & BFS | 그래프 탐색

    ※탐색: 많은 데이터에서 원하는 데이터를 찾는 과정 그래프 탐색을 위한 자료구조 (1) 스택 (2) 큐 (3) 재귀함수 (4) 그래프 DFS | 깊이 우선 탐색 : 깊은 부분을 우선적으로 탐색 👉 특정 경로로 탐색하다가 특정 상황에서 최대한 깊숙이 들어가서 노드 방문 후 다시 돌아가 다른 노드 방문 (1) 탐색 시작 노드를 스택에 삽입하고 방문처리 ※ 방문처리: 스택에 한번 삽입되어 처리된 노드가 다시 삽입되지 않게 check (2) 스택의 최상단 노드에 방문하지 않은 노드가 있다면 그 인접 노드를 스택에 push하고 다시 돌아가 다른 노드를 방문한다. (3) (2) 과정을 반복 수행한다. 결과적으로 노드의 탐색 순서는 스택에 들어간 순서와 같다. 1 → 2 → 5 →6 → 3 → 7 → 4 → 8 첫 ..

    [Swift] Guard문 | guard let

    Guard문은 반드시 있어야 할 조건을 검사하여 그 다음에 오는 코드들을 실행할지 말지 결정한다. Guard를 이용하는 이유를 정리하자면 아래와 같다. 1. control flow와 indentation을 단순하게 하기위해 → 코드가 깔끔해지고 그로 인해 에러를 방지할 수 있다. 2. 부적절한 파라미터를 빠르게 없애버리기 위해 if문 vs guard문 if문 사용 ver. func singHappyBirthday(){ if(birthdayIsToday){ if(invitedGuests > 0){ if (cakeCandleLit){ print("Happy Birthday to you!") }else{ print("케익 촛불 불 안켜짐") } }else{ print("초대 아무도 안함") } }else{ p..

    [Algorithm] 에라토스테네스의 체 | 소수 찾기

    소수를 찾는 방법 중 하나인 에라토스테네스의 체에 대해 알아보자 원리는 다음과 같다. 💡 0부터 구하고자하는 수(n)까지 True로 채운 리스트를 생성한다. 💡 2를 제외한 2의 배수를 False로 바꾼다. 💡 3을 제외한 3의 배수를 False로 바꾼다. 💡 5를 제외한 5의 배수를 False로 바꾼다. . . . 💡n의 최대 약수는 sqrt(n) 이하이므로 sqrt(n)의 배수를 모두 False로 바꾼다. 💡2~n까지의 숫자 중 True인 숫자들이 소수가 된다. 이를 코드로 구현하면 다음과 같다. def isPrime(n): sieve = [True] * n # n의 최대 약수는 sqrt(n) 이하 m = int(n ** 0.5) for i in range(2, m+1): if sieve[i] == ..

    [Algorithm] 이진 탐색 | Binary Search

    1. 순차 탐색 : 가장 기본적인 탐색 방법 - 리스트 안에 있는 특정 데이터를 찾기 위해 앞에서부터 하나씩 확인 - 정렬되지 않은 리스트에서 데이터를 찾을 때 사용 - 파이썬의 count() 메서드 내부에서 순차 탐색이 사용된다. 📌 시간 복잡도: O(n) # target = 찾고자하는 원소 def search(n, target, array): for i in range(n): # 현재의 원소가 target과 동일하면 if array[i] == target: return i # 현재의 위치 인덱스 반환 2. 이진 탐색(이분 탐색) : 범위를 절반씩 나누며 탐색하는 방법 - 배열 내부 데이터가 정렬되어 있어야 사용이 가능 - 변수 3개 필요: 시작점, 끝점, 중간점 - 중간점이 실수 일 때는 소수점 이하..

    [iOS] WebKit View | 앱에서 Web 페이지 열기

    열고 싶은 웹페이지의 URL만 알고 있다면 앱에서 바로 해당 웹페이지를 열 수 있다! 먼저, storyboard에 WebKit View를 추가한다. Web View는 deprecated 되었다고 한다. (old version) Webkit을 사용하기 위해 해당 스토리보드와 연결되는 뷰 컨트롤러에 WebKit 프레임워크를 import 해준다. import WebKit 네이버를 열기 위해 네이버의 주소를 url에 넣어준다. import UIKit import WebKit class ViewController: UIViewController { @IBOutlet weak var webView: WKWebView! override func viewDidLoad() { super.viewDidLoad() let ..