240912 iOS프로그래밍기초 2주차

2024. 9. 12. 16:48·iOS프로그래밍 (2학년 2학기)

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
'iOS프로그래밍 (2학년 2학기)' 카테고리의 다른 글
  • 241002 iOS프로그래밍기초 5주차
  • 240926 iOS프로그래밍기초 4주차
  • 240919 iOS 프로그래밍기초 3주차
  • 240905 iOS프로그래밍기초 1주차
Z2AE
Z2AE
  • Z2AE
    딩코.log
    Z2AE
  • 전체
    오늘
    어제
    • 분류 전체보기 (65)
      • C++ 프로그래밍 (1학년 2학기) (12)
      • 서버프로그래밍 (1학년 2학기) (0)
      • C# 프로그래밍 (1학년 2학기) (2)
      • 프론트엔드 웹개발 (1학년 2학기) (2)
      • 데이터베이스 (2학년 1학기) (8)
      • 자료구조 (2학년 1학기) (2)
      • JAVA프로그래밍 (2학년 1학기) (7)
      • PHP쇼핑몰실무 (2학년 1학기) (2)
      • 운영체제 (2학년 1학기) (3)
      • 모바일게임개발 (2학년 1학기) (1)
      • iOS프로그래밍 (2학년 2학기) (11)
      • 네트워크보안 (2학년 2학기) (1)
      • iOS프로그래밍실무 (3학년 1학기) (9)
      • 소프트웨어설계 (3학년 1학기) (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
Z2AE
240912 iOS프로그래밍기초 2주차
상단으로

티스토리툴바