Programming/Swift(iOS)
-
[iOS 교육]Programming/Swift(iOS) 2023. 5. 4. 10:05
https://hongprogrammer.tistory.com/210 [iOS교육] XCode가 생성한 파일 삭제 방법 XCode가 자동 생성한 파일을 제거하는 방법 1) 자동 생성된 파일 제거 .swift 파일 3개 AppDelegate, SeceneDelegate, ViewController storyboard 파일 2개 Main, LaunchScreen 2) info에서 "Application Scene Manifest" 제거 3) 프로 hongprogrammer.tistory.com 파일 삭제한 순수 상태에서 Code로 iOS Programming 진행 iOS 프로그램이 지켜야되는 규칙 UIApplicationDelegate 프로토콜을 채택한 클랙스를 만들어야한다 -> 관례적으로 AppDelega..
-
[iOS교육] XCode가 생성한 파일 삭제 방법Programming/Swift(iOS) 2023. 5. 4. 09:31
XCode가 자동 생성한 파일을 제거하는 방법 #1 1) 자동 생성된 파일 제거 .swift 파일 3개 AppDelegate, SeceneDelegate, ViewController storyboard 파일 2개 Main, LaunchScreen 2) info에서 "Application Scene Manifest" 제거 3) 프로젝트 설정에서 아래 2개 항목 값을 제거(공백상태) Main Interface Launch screen File emulator로 실행시켜보면, 앱이 실행되었다가 바로 사라짐 XCode가 자동 생성한 파일을 제거하는 방법 #2 1) 자동 생성된 파일 제거 .swift 파일 3개 SeceneDelegate, ViewController storyboard 파일 2개 Main, Lau..
-
Swift 화면간 데이터 전달Programming/Swift(iOS) 2021. 9. 7. 12:24
Swift에서 화면 전환간 데이터 전달하는 방법 1. ViewController를 찾아 직접 전달 (A->B로 전달) ViewController가 가진 변수에 직접 data를 전달 @IBAction func tapCodePresentButton(_ sender: Any) { guard let viewController = self.storyboard?.instantiateViewController(identifier: "CodePresentViewController") as? CodePresentViewController else { return} viewController.name = "Honggggggg" viewController.modalPresentationStyle = .fullScreen v..
-
Swift 화면 전환 방법Programming/Swift(iOS) 2021. 9. 7. 11:42
아이폰 화면 구성 StackView로 쌓아올리는 방법 Push로 현재 ViewController위에 새로운 화면을 쌓고 Pop으로 현재 ViewController를 없애, 이전 화면으로 돌아간다. 화면 전환 방법 소스코드를 통해서 전환하는 방식 StoryBoard를 통해 전환하는 방식 ViewController의 View위에 다른 View를 가져와 바꿔치기 ViewController에서 새로운 ViewController 호출하기 NavigationController를 이용하여 화면전환 SegueWay를 사용하여 화면 전환 예제 1 - 소스코드상에서 present와 dismiss 이용 mainViewController에서 secondViewController를 호출하는 경우 secondViewControl..
-
mac os에서 시스템 키체인을 사용하고자 합니다.Programming/Swift(iOS) 2021. 6. 10. 11:40
회사에서 제공하는 mac을 사용하다가 보안팀 방문 이후에 여러 가지가 꼬였다. 그중 하나가 XCode에서 실제기기에 App을 올릴때 마다 나오는 '시스템 키체인' 접근 관련 암호 넣어라는 팝업.. XCode에 Target이 많으면 해당 Target 갯수 x 2 번씩을 입력해야된다. 내 Target은 6개 였으니 XCode를 새로 키면 12번씩 넣어줘야했다. 정말 불편해서 검색을 해보니, 이미 나와 같은 경우에 사람들이 많았다. 지난번에 인증서를 다시 설치한 후에 이런 팝업이 뜨는거 같은데, 시스템에 있는 인증서를 로그인쪽으로 복사/붙여넣기를 하면 된다. Apple 개발 인증서 2개를 선택한 후에 복사 -> 로그인 항목에 가서 붙여넣기를 하면 된다.
-
Swift Generic - 3Programming/Swift(iOS) 2021. 4. 6. 21:28
String 배열의 빈도수를 세는 프로그램을 짜 봅시다. hash로 빈도수를 세면 될것 같은데요..(python이면 collections의 defaultdict를 사용하겠지만..) let arr = [ "hello", "world", "hello", "world", "hello", "world", "show", "me", ] func printValues(_ values: [String]) { print(values.sorted()) var result = [String: Int]() for e in values { //result[e]가 존재하지 않으면 0, 존재하면 값 가져오는 부분 let v = result[e] ?? 0 result[e] = v + 1 } print(result) } 만약 Stri..
-
Swift Generic - 2Programming/Swift(iOS) 2021. 4. 6. 14:50
배열 sort함수를 예로 들어보죠. sort는 배열 안에 담긴 객체 타입이 어떤것이냐에 따라서 다른데요. Int, Float, String등 시스템에서 제공하는 기본타입은 sorted가 됩니다. 하지만 사용자가 구현한 객체 타입은 되지 않습니다. 이유는 기본 타입의 경우에는 'Comparable' Protocol을 미리 준수했기 때문입니다. 사용자가 만든 객체의 경우에도 동일하게 'Comparable' Protocol을 준수하면 가능합니다. 갑자기 제너릭 하다가 프로토콜로 빠져버렸는데요. sorted는 타입에 따라서 모두 제공을 하기 때문에 제너릭으로 구현되어 있습니다. 원형을 찾아보면 Self.Element로 되어 있습니다. @inlinable public func sorted() -> [Self.El..