iOS/Swift
-
[Swift] Xcode 14 에서 SwiftUIX 불러오기iOS/Swift 2022. 12. 16. 11:42
예전 강의에서는 File > Package > Swift Package 로 들어가서 외부소스를 불러왔었는데 Xcode 14 부터는 달라졌다. 우선 프로젝트 최상위 파일로 간다. Package Dependencies 로 가서 화면 하단의 + 버튼을 누른다. SwiftUIX 의 깃허브 주소 복사 https://github.com/SwiftUIX/SwiftUIX 검색창에 붙여넣고 Add Pakage 누르면 끝 잘 추가 된 것을 볼 수 있다 소스코드를 사용할 파일 상단에 SwiftUIX를 import 해주고, SwiftUIX 라이브러리에 있는 VisualEffectBlurView를 사용해본다. 잘 적용된것을 볼 수 있다. 왼쪽은 VisualEffectBlurView(blurStyle: .systemMateria..
-
[iOS 앱개발] 앱에서 이메일 보내기 예제iOS/Swift 2022. 12. 5. 18:23
// // ViewController.swift // sendEmail // // Created by 박단비 on 2022/12/05. // import MessageUI import SafariServices import UIKit class ViewController: UIViewController, UINavigationControllerDelegate, MFMailComposeViewControllerDelegate { override func viewDidLoad() { super.viewDidLoad() let button = UIButton(frame: CGRect(x:0, y:0, width: 220, height: 50)) view.addSubview(button) button.setTi..
-
[Swift] 상속iOS/Swift 2022. 12. 4. 17:02
부모의 class 에 선언되어 있는 함수들을 가져다 쓰는것 (=override, 덮어쓰기) import UIKit // 부모가 자식에게 물려주는것 // 자식은 부모의 것을 가지고 있으면서 추가적으로 본인의 기능을 만듬 class Friend { var name : String // 부모 함수 1 init(_ name: String){ self.name = name } // 부모 함수 2 func sayHi(){ print("안녕 난 \(self.name) 라고 해") } } class BestFriend : Friend { //Friend 를 overide 한다 // 부모 함수 1 override init(_ name: String) { // super = 부모 // 부모를 상속받았으면 꼭 init 을 ..
-
[Swift] 객체 생성자, 해제자iOS/Swift 2022. 12. 4. 11:16
이니셜라이저 (Initializers) 이니셜라이저는 특정 타입의 인스턴스를 생성합니다. 이니셜라이저의 가장 간단한 형태는 파라미터가 없고 init 키워드를 사용하는 것입니다. import UIKit class MyFriend { var name : String init(_ name: String = "이름없음"){ self.name = name print("MyFriend가 메모리에 올라갔다 - \(name)") } deinit { print("메모리에서 사라짐 - \(name)") } var calledTimes = 0 let MAX_TIME = 5 static var instancesOfSelf = [MyFriend]() class func destroySelf(object: MyFriend){ i..
-
[Swift] 제네릭 (Generics)iOS/Swift 2022. 12. 2. 11:47
import UIKit struct MyArray{ //보통 SomeElement 자리에 T를 넣음 "Type" // 제네릭을 담은 빈 배열 var elements : [SomeElement] = [SomeElement]() //생성자 init(_ elements: [SomeElement]){ self.elements = elements } } struct Friend { var name: String } struct Coder { var name: String } var mySomeArray = MyArray([1,2,3]) print("mySomeArray : \(mySomeArray)") var myStringArray = MyArray(["가","나","다"]) print("myStringArra..
-
[Swift] 메소드 (Methods)iOS/Swift 2022. 12. 2. 11:39
import UIKit //함수, 메소드 정의 func myFunction(name: String) ->String{ return "안녕하세요. \(name) 님" } myFunction(name: "단비") //매개변수 이름을 name 말고 with로 쓰고 싶을때 func myFunctionSecond(with name: String) ->String{ return "안녕하세요. \(name) 님" } myFunctionSecond(with: "단비") //with도 사용하지 않고 숨기고 싶을때 func myFunctionThird(_ name: String) ->String{ return "안녕하세요. \(name) 님" } myFunctionThird("단비") 출력 결과 안녕하세요. 단비 님 안녕..
-
[Swift] 클래스와 스트럭트iOS/Swift 2022. 12. 1. 12:49
https://jusung.gitbook.io/the-swift-language-guide/language-guide/09-classes-and-structures 클래스과 구조체 (Classes and Structures) - The Swift Language Guide (한국어) Swift에서는 String, Array, Dictionary 같은 기본 데이터 타입이 구조체로 구현 돼 있습니다. 그렇다는 의미는 이 값을 다른 상수나 변수에 할당하거나 함수나 메소드에 인자로 넘길 때 이 값이 복사 된 jusung.gitbook.io 클래스와 스트럭트란? = 데이터들의 덩어리, 데이터를 모아놓은 모델 = 사본을 만들어 사용 할 수 있는 것 import UIKit // 데이터들의 덩어리, 유튜버라는 모델 s..
-
[Swift] enum 열거형iOS/Swift 2022. 12. 1. 01:58
Swift 공식 문서 (한국어 가이드) https://jusung.gitbook.io/the-swift-language-guide/language-guide/08-enumerations 열거형 (Enumerations) - The Swift Language Guide (한국어) C나 Objective-C 와는 다르게 Swift에서 열거형은 생성될 때 각 case 별로 기본 integer값을 할당하지 않습니다. 위 CompassPoint를 예로 들면, north, south, east, west는 각각 암시적으로 0, 1, 2, 3값을 갖지 않습니 jusung.gitbook.io import UIKit // 학교 - 초, 중, 고 enum School_1 { case elementary case middl..