학습 기록/swift 12

external/internal argument, @discardableResult

/Swift 📌 external/internal argument함수 내에서 argument를 지칭할 때 쓰는 이름과 외부에서 사용하는 이름을 각기 다르게 지정해 줄 수 있다.func greet(to name: String) { print("안녕, \(name)!")} 위의 예시에서 to는 external argument, name은 internal argument라고 할 수 있다. 때문에 name을 함수 내부에서 사용하고 있다. greet(to: "유치원생")// 결과: "안녕, 유치원생!" 함수를 호출할 때는 to를 사용한다. 하지만 함수가 실행되는 내부에서는 name으로 데이터를 불러와 사용하고 있다. external argument 없이 함수를 사용하는 경우도 있다. 그럴땐 _ (언더스코어)..

학습 기록/swift 2024.11.23

function

/Swift import Foundationfunc noArgumentsAndNoReturnValue() { "I don't know what I'm doing" }noArgumentsAndNoReturnValue() 함수의 작명은 camelCase 작명법을 따른다. 또한, playgrounds에서는 위의 예시 코드처럼만 string을 작성해도 함수를 실행하면 해당 내용이 보이지만 실제 xcode swift에서는 print를 활용해야 한다. func plusTwo(value: Int) { let newValue = value + 2}plusTwo(value: 30) //32 위의 함수 예시는 int를 argument로 받는 함수이다. func newPlusTwo(value: Int) -> Int { ..

학습 기록/swift 2024.11.22

if and else

/Swift 기본적인 if/else문에 대해서 알아보자. import Foundationlet myName = "Romi"let myAge = 20let yourName = "Olivia"let yourAge = 19if myName == "romi" { "Your name is \(myName)"} else { "Oops, I guessed it wrong."} myName이라는 변수와 romi를 비교했을 때, 동일하면(true) 중괄호 안의 문장을 출력한다. 이때 \(변수명)으로 변수를 받아와 출력할 수 있다. 조건을 만족하지 않는다면 else로 넘어간다. if myName == "Romi" { "Your name is \(myName)"} if else myName == "Olivia" { "Are..

학습 기록/swift 2024.11.21

Operators

/Swift 오늘은 여러 가지 Operators(연산자)에 대해 공부해 보자. import Foundationlet myAge = 22let yourAge = 20if myAge > yourAge { "I'm older than you."} else if myAge  부등호(), 연산기호(+, -, /, *)등이 operator이다. 위에서 언급한 예시 코드에 등장하는 연산자의 경우, 두 개의 value가 있어야 작동할 수 있는 binary infix operator라고 할 수 있다. Swift에는 세 가지 각기 다른 타입의 operator가 있다. unary prefix, unary postfix, binary infix가 바로 그것인데, unary의 경우 works with only one value..

학습 기록/swift 2024.11.20

NSArray, NSMutableArray

/Swift  Hello World + Variables/C 국룰 Hello, World를 Xcode를 통해 출력해 보았다. Variables를 선언하는 방법에는 크게 두 가지가 있다. var를 사용하기, let을 사용하기. let은 재할당이 불가한 반면 var는 가능하다. 위의 예시에서는romiwaves.tistory.com  어제 진행했던 실습에서 NSArray, NSMutableArray가 포함된 코드를 작성하였다.let someNames = NSMutableArray( array: [ "Foo", "Bar" ])func changeTheArray(_ array: NSArray) { let copy = array as! NSMutableArray cop..

학습 기록/swift 2024.11.19

Hello World + Variables

/C 국룰 Hello, World를 Xcode를 통해 출력해 보았다. Variables를 선언하는 방법에는 크게 두 가지가 있다. var를 사용하기, let을 사용하기. let은 재할당이 불가한 반면 var는 가능하다. 위의 예시에서는 let으로 선언한 변수 myName에 새로운 값을 할당하자 콘솔창이 에러를 띄우는 것을 볼 수 있다. 반면 var로 할당한 배열인 Names에는 append를 통해 요소를 추가하더라도 에러가 나지 않는다. let으로 할당한 변수를 var로 할당한 변수에 넣어주면, simply copying 하는 것이지 Reference로 가져오는 것이 아니다. 그렇게 할당한 var 변수 foo2에 변화를 주더라도 let변수인 foo는 변화하지 않는다. moreNames라는 배열을 let을..

학습 기록/swift 2024.11.18

Xcode 설치하기

/Swift   Xcode - Apple DeveloperXcode includes everything you need to develop, test, and distribute apps across all Apple platforms.developer.apple.comXcode는 위 링크에서 다운로드할 수 있다. 맥 이용자라면 앱스토어에서도 쉽게 찾을 수 있다.  보다시피 별점이 처참하다. 이런저런 문제가 많나 봄... 저번에 지인에게서 설치가 오래 걸린다는 말을 듣긴 했는데 이렇게 오래 걸릴 줄은 몰랐다. 0.01GB가 그렇게 큰 용량이었던가요? 오늘 안에 Hello World 찍어 볼 수나 있을지 모르겠네... 간신히 다운로드를 다 했는데, 이게 끝이 아니었다. 사용하고자 하는 component를 ..

학습 기록/swift 2024.11.17

앞으로는

/swift - 동영상 튜토리얼 하나 끝내보기 듣기 좋고 이해하기 쉽게 설명한 것으로 보이는 강의 몇 개 중에 골라봄 - 간단한 실습과 함께 진행 Swift - Hello World Program - GeeksforGeeksA Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.www.geeksforgeeks.org 공식 문서 거의 동일한 순서로 진행됨. 간단한 설명과 함께 예제가 제공되..

학습 기록/swift 2024.11.16

날짜 플래너: 앱 데이터 지속화하기

📌Swift Playgrounds  📌 앱 데이터 지속화하기- UserDefaults: 앱 상태 데이터의 간단한 저장을 담당한다. 재실행해도 유지해야 하는 데이터 저장에 유용. - FileManager: 파일이나 이미지를 저장하거나 읽어오는 파일 관리 시스템. 파일 단위 데이터 저장에 유용하다. UserDefaults보다 더 큰 데이터를 다룰 수 있다. - CoreData: 말하자면 데이터베이스 역할. 구조화된 저장과 복잡한 관계 처리 필요시 사용하는 프레임워크이다. - AppStorage: UserDefaults에 데이터를 간단히 저장하고 자동 업데이트를 가능하게 한다. 데이터는 변수에 자동으로 저장되며, 뷰가 그걸 참고하여 자동적으로 업데이트된다.    📌 로컬 저장 공간에서 데이터 로드하기 -..

학습 기록/swift 2024.10.27

날짜 플래너: 데이터 모델 이해하기 및 동적 목록 생성하기

📌Swift Playgrounds  📌 앱 구성@StateObject private var eventData = EventData() - 속성 래퍼변수를 좀 더 쉽게 선언하고 관리할 수 있도록 함: 변수를 관리하고 추적. @로 시작특정 작업을 자동으로 해주는 코드를 변수에 적용할 수 있게 됨 - @StateObject: 객체(위의 예문에서는 eventData)의 상태 변화를 뷰가 알 수 있도록 하고, 그 변화에 따라 화면을 업데이트 - private 접근 제어자: 변수를 현재 파일에서만 사용하도록 함 - 인스턴스: 특정 클래스(=설계도)로부터 만들어진 객체. 설계도(EventData)를 토대로 실제 사용 가능한 데이터 덩어리를 만드는 것 - 위의 예문을 해석해 보자면,EventData라는 클래스의 인..

학습 기록/swift 2024.10.26