MAC 사용법
Window 키보드와 Mac 키보드의 차이점
화면 캡쳐하는 방법
전체화면
- cmd+shift+3
특정부분
- cmd+shift+4
- cmd+shift+4+space+카메라 이동하여 해당 윈도우만 캡쳐
Windows 컴퓨터와 공유
- dropbox
Finder 많이 쓰는 기능 실습
다중 항목 선택
- 연속적인 항목 선택 : shift+클릭(드래그)
- 비연속적인 항목 선택 : cmd+클릭(드래그)
다중 항목 용량 확인
- 다중 항목 선택 후 마우스 오른쪽 버튼을 클릭하면 컨텍추얼 메뉴가 나오는데 alt키를 누르면 [정보 가져오기] 메뉴가 [속성 보기]로 바뀌고 이것을 클릭
복사/붙이기
- cmd+C, cmd+V
- 마우스 오른쪽 버튼 클릭하면 나타나는 컨텍추얼 메뉴 사용(복제)
항목 삭제하기
- 휴지통 비우기
Mission Control(F9)
Mission control 단축키
F9로 변경
- [시스템환경설정]-[Mission Control]-[키보드 및 마우스 단축키]-Mission control 단축키
실행되는 모든 앱 및 위젯 등을 라이브 뷰로 한눈에 볼 수 있음
멀티터치패드에서는 [세손가락으로 위로 쓸어 올리기] 제스처
github에서 FlappyBird 다운로드 -> 압축해제 후 Xcode로 열기
FlappyBird를 실행한 모습
Swift의 개발언어를 한눈에 볼 수 있는 코드
안드로이드와 애플 스토어의 인기앱 / 앱 순위를 볼 수 있는 페이지
https://bbiguduk.gitbook.io/swift
Swift 변경 사항 정리한 웹페이지
https://github.com/swift-kr/swift-style-guide-raywenderlich/blob/master/ko_style_guide.md
raywenderlich.com의 Swift 스타일가이드
ai를 활용하여
정적 타입 체크 언어와 동적 타입 체크 언어 장단점
특성 | 정적 타입 체크 언어 | 동적 타입 체크 언어 |
오류 감지 | 컴파일 시 조기 발견 가능 | 런타임에 발견되어 늦게 감지될 수 있음 |
성능 | 일반적으로 더 빠른 실행 속도 | 런타임 타입 체크로 인해 약간 느릴 수 있음 |
코드 가독성 | 명시적 타입으로 이해하기 쉬움 | 타입 추론이 필요하여 가독성이 떨어질 수 있음 |
유연성 | 제한적이며 표현에 제약이 있음 | 더 유연하고 빠른 프로토타이핑 가능 |
개발 속도 | 초기 개발이 느릴 수 있음 | 초기 개발이 빠를 수 있음 |
유지보수 | 대규모 프로젝트에서 유리 | 소규모 프로젝트나 스크립트에 적합 |
리팩토링 | 더 쉽고 안전함 | 어려울 수 있음 |
문서화 | 타입 선언이 문서 역할을 함 | 추가 문서화가 필요할 수 있음 |
학습 곡선 | 초보자에게 더 어려울 수 있음 | 초보자에게 더 쉬울 수 있음 |
버그 발생 | 컴파일 시 많은 버그 방지 가능 | 런타임 오류 가능성이 더 높음 |
Swift에서 사용하는 주요 자료형을 예시와 함께 표로 작성한 것
자료형 | 설명 | 예시 |
Int | 정수 | let age: Int = 30 |
Double | 64비트 부동소수점 | let pi: Double = 3.14159 |
Float | 32비트 부동소수점 | let height: Float = 175.5 |
Bool | 참/거짓 | var isStudent: Bool = true |
String | 문자열 | let name: String = "Swift" |
Character | 단일 문자 | let grade: Character = 'A' |
Array | 순서가 있는 컬렉션 | var numbers: [Int] = [1, 2, 3] |
Dictionary | 키-값 쌍의 컬렉션 | var scores: [String: Int] = ["Math": 90, "English": 85] |
Set | 고유한 값의 컬렉션 | var fruits: Set<String> = ["Apple", "Banana", "Orange"] |
Tuple | 여러 값을 그룹화 | let person: (String, Int) = ("John", 25) |
Optional | 값이 있거나 없을 수 있음 | var nickname: String? = nil |
Any | 모든 타입 | var anyValue: Any = 42 |
AnyObject | 모든 클래스 타입 | var anyObject: AnyObject = NSObject() |
var x : Int = 10
- 위와 같이 초깃값이 있을 경우에는 컴파일러가 타입 추론(type inference)을 하므로 데이터 타입을 명시할 필요가 없음
//int x = 10;
var x = 10
print(type(of: x)) // 타입 추론
print(x)
오류가 난 부분이 있다면 그 이유와 해결을 제시해주는 Xcode (Fix버튼을 누르면 고쳐짐)
플랫폼의 종류
플랫폼 종류 | 설명 | 예시 |
운영체제 플랫폼 | 하드웨어와 소프트웨어 간의 인터페이스 | Windows, macOS, Android, iOS |
소프트웨어 개발 플랫폼 | 애플리케이션 개발을 위한 도구 및 환경 | Java, .NET, Node.js |
클라우드 플랫폼 | 클라우드 기반 서비스 및 인프라 제공 | Amazon Web Services, Microsoft Azure, Google Cloud |
소셜 미디어 플랫폼 | 사용자 간 소통 및 콘텐츠 공유 | Facebook, Twitter, Instagram |
전자상거래 플랫폼 | 온라인 상품 거래 및 결제 지원 | Amazon, eBay, Shopify |
동영상 스트리밍 플랫폼 | 동영상 콘텐츠 제공 및 공유 | YouTube, Netflix, Twitch |
게임 플랫폼 | 게임 개발, 배포, 플레이 환경 제공 | Steam, PlayStation Network, Xbox Live |
교육 플랫폼 | 온라인 학습 및 교육 콘텐츠 제공 | Coursera, edX, Udemy |
음악 스트리밍 플랫폼 | 음악 콘텐츠 제공 및 공유 | Spotify, Apple Music, SoundCloud |
결제 플랫폼 | 온라인 금융 거래 및 결제 처리 | PayPal, Stripe, Square |
프로그래밍 언어별로 작은따옴표(')와 큰따옴표(")의 주요 용도를 비교한 표
언어 | 작은 따옴표 (' ') | 큰 따옴표 (" ") |
Python | 문자열 정의, 큰따옴표 포함 시 유용 | 문자열 정의, 작은따옴표 포함 시 유용 |
JavaScript | 문자열 정의, 변수 보간 없음 | 문자열 정의, 변수 보간 가능 |
PHP | 문자열 정의, 변수 보간 없음 | 문자열 정의, 변수 보간 가능 |
Java | 단일 문자 정의 | 문자열 정의 |
C/C++ | 단일 문자 정의 | 문자열 정의 |
SQL | 문자열 값 정의 | 식별자(테이블명, 컬럼명 등) 정의 |
HTML | 속성값 정의 (큰따옴표와 동일) | 속성값 정의 (작은따옴표와 동일) |
Swift | 문자열 정의 (큰따옴표와 동일) | 문자열 정의 (작은따옴표와 동일) |
문자열 보간(string interpolation)
//int x = 10;
var x = 10
//print(type(of: x)) // 타입 추론
print("x = \(x)")
문자열 보간(string interpolation) 방법을 프로그래밍 언어별로 예를 들어 표로 작성한 것
언어 | 문자열 보간 방법 | 예시 |
Python | f-strings (Python 3.6+) | name = "Alice" age = 30 print(f"{name} is {age} years old.") |
JavaScript | 템플릿 리터럴 | const name = "Bob"; const age = 25; console.log(`${name} is ${age} years old.`); |
C# | $ 접두사 | string name = "Charlie"; int age = 35; Console.WriteLine($"{name} is {age} years old."); |
Ruby | #{} 구문 | name = "David" age = 40 puts "#{name} is #{age} years old." |
PHP | "" 내 변수 직접 사용 | $name = "Eve"; $age = 28; echo "$name is $age years old."; |
Swift | $$) 구문 | let name = "Frank" let age = 45 print("$$name) is $$age) years old.") |
Kotlin | ${} 구문 | val name = "Grace" val age = 33 println("${name} is ${age} years old.") |
Dart | ${} 구문 | var name = "Hank"; var age = 50; print("$name is $age years old."); |
Scala | s 접두사 | val name = "Ivy" val age = 27 println(s"$name is $age years old.") |
Perl | "" 내 변수 직접 사용 | my $name = "Jack"; my $age = 38; print "$name is $age years old.\n"; |
Xcode에서 도움말을 보는 방법 : alt키를 누른 상태로 설명을 보고 싶은 단어 클릭
만약 Mac이 없다면? 검색할 때 해당 단어와 함께 swift언어로써 무슨 의미인지 검색
swift에서는 기본 자료형이 다 구조체로 되어있다.
참고자료 : 한성현 교수님 수업자료
'iOS프로그래밍 (2학년 2학기)' 카테고리의 다른 글
241009 iOS프로그래밍기초 6주차 (1) | 2024.10.14 |
---|---|
241002 iOS프로그래밍기초 5주차 (2) | 2024.10.14 |
240926 iOS프로그래밍기초 4주차 (3) | 2024.09.26 |
240919 iOS 프로그래밍기초 3주차 (0) | 2024.09.19 |
240905 iOS프로그래밍기초 1주차 (2) | 2024.09.05 |