Swift
-
[Swift] 딕셔너리카테고리 없음 2022. 12. 4. 17:13
import UIKit var myFriends = ["bestFriend" : "소영", "boyFriend" : "태규"] let myBestFriend = myFriends["bestFriend"] let myBoyFriend = myFriends["boyFriend"] let youtubeFriend = myFriends["youtube", default: "값이 없음"] //내가 가져오려하는 곳에 값이 없으면 대체할 값을 넣을 수 있음 myFriends["bestFriend"] = "진주" let myBF = myFriends["bestFriend"] myFriends["newFriend"] = "철수" let newFriend = myFriends["newFriend"] // (값, 키) 를 ..
-
[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] 클로저 (Closures)카테고리 없음 2022. 12. 2. 11:55
https://jusung.gitbook.io/the-swift-language-guide/language-guide/07-closures 클로저 (Closures) - The Swift Language Guide (한국어) 위 코드는 각 자리수를 구해서 그 자리수를 문자로 변환하고, 10으로 나눠서 자리수를 바꾸며 문자로 변환하는 것을 반복합니다. 이 과정을 통해 숫자 배열을, 문자 배열로 바꿀 수 있습니다. numb jusung.gitbook.io import UIKit //String 을 반환하는 클로저 let myName : String = { //myName으로 들어간다 return "단비" }() print(myName) //클로저 정의 //받은 매개변수 타입 지정해주고 최종적으로 리턴해주는 ..
-
[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] 프로퍼티 옵저버 (Property Observers)카테고리 없음 2022. 12. 1. 22:56
https://jusung.gitbook.io/the-swift-language-guide/language-guide/10-properties#property-observers 프로퍼티 (Properties) - The Swift Language Guide (한국어) 프로퍼티는 클래스, 구조체, 열거형과 관련한 값입니다. 프로퍼티의 종류에는 저장 프로퍼티(Stored Properties)와 계산된 프로퍼티(Computed Properties)가 있습니다. 저장 프로퍼티는 말 그대로 값을 저 jusung.gitbook.io import UIKit var myAge = 0 { willSet{ print("값이 설정될 예정이다. myAge: \(myAge)") } didSet { print("값이 설정되었다...
-
[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..