전체 글 (82) 썸네일형 리스트형 [Swift] 함수와 클로저 함수 함수는 func 키워드를 사용하여 정의, -> 를 사용해서 함수의 반환 타입을 지정 func hello(name: String, time:Int) -> String { var string = "" for _ in 0.. Int { var sum = 0 for number int numbers { sum += number } return sum } sum(1,2) sum(3,4,5) 함수 안에 함수를 또 작성 가능 func hello(name: String, time: Int) { func message(name: sTring) -> String { return "\(name)님 안녕하세요!" } for _ in 0.. (String) -> String { func hello(name: String).. [Swift] 옵셔널(Optional) 옵셔널(Optional) - 값이 있을수도 있고 없을 수도 있음을 나타냄 문자열 값이 있으면 "가나다" , 없으면 "" 일까? ""도 염연히 값이 있는 문자열이고 정확히는 값이 없는게 아니라 '빈 값'을 의미 값이 없는 문자열은 nil 정수형 값이 있으면 123 , 없으면 0일까? 마찬가지로 0은 0이라는 숫자이며 이 경우도 값이 없는 정수는 nil 빈 배열이나 빈 딕셔너리라고 해서 값이 없는게 아니라 '비어있을 뿐' 배열과 딕셔너리의 경우에도 '없는 값'은 nil 이렇게 값이 없는 경우에는 nil을 사용하고, 그렇다고 모든 변수에 nil을 넣을 수 있는 것은 아님 var name: String = "안녕하세요" name = nil // 컴파일 에러! 값이 있을 수도 있고 없을 수도 있는 변수를 정의할 .. [Swift] 조건문과 반복문 조건문 조건 검사 시 if, switch 사용 var age = 19 var student = "" if age >= 8 && age < 14 { student = "초등학생" } else if age < 17 { student = "중학생" } else if age < 20 { student = "고등학생" } else { student = "기타" } student // 고등학생 if 문의 조건절에는 값이 정확하게 참 혹은 거짓으로 나오는 Bool 타입 사용 Swift는 타입 검사를 굉장히 엄격하게 하기 때문에 아래와 같은 코드 사용 불가 var number = 0 if !number { // 컴파일 에러 //... } 사용 방법 if number == 0 { // ... } 빈 문자열이나 배열 등을.. [Swift] Swift란? 앱이란? 앱(App)은 응용 프로그램인 애플리케이션의 줄임말로, 애플에서 처음 사용 즉, 아이폰, 아이패드 등에서 동작하는 애플리케이션을 모두 앱이라고 칭함 그 후 안드로이드, 팜, 윈도우 모바일 등 모든 스마트폰에 설치되는 응용 프로그램들도 '앱' 이라고 부르고 이제는 PC에서 사용되는 응용프로그램까지 통틀어 '앱' 이라고 부름 아이폰 시장 2021년 03월 기준 전세계적으로 약 27% 의 시장 점유율을 보였고, 국내에서는 IOS가 25%가 넘는 점유율을 보였고, 일본과 미국은 60%에 육박하는 점유율을 보임 iOS 앱 개발을 위한 전제 조건 윈도우용 앱 개발에 Visual C++라는 도구를 사용하고 C++ 또는 C# 등의 언어를 학습해야 하듯이 아이폰 앱 개발을 위해선 'Xcode' 라는 도구를 사용.. [Android] Step2 - 활동(Activity) 활동 Activity 클래스는 Android 앱의 중요한 구성요소로 활동이 실행되고 결합되는 방식은 플랫폼 애플리케이션 모델의 기본 요소. main() 메서드를 사용하여 앱을 실행하는 프로그래밍 패러다임과 달리 Android 시스템은 수명 주기의 특정 단계에 해당하는 특정 콜백 메서드를 호출하여 Activity 인스턴스의 코드를 시작 활동의 개념 모바일 앱 환경은 사용자와 앱의 상호작용이 항상 동일한 위치에서 시작되는 것이 아니라는 점에서 데스크톱 앱 환경과 다름. 한 앱이 다른 앱을 호출할 때 호출 앱은 다른 앱을 전체적으로 호출하는 것이 아니라 다른 앱의 활동을 호출 이런 방식으로 활동은 앱과 사용자의 상호작용을 위한 진입점 역할 -> Activity 클래스의 서브클래스로 구현 활동은 앱이 UI를 그.. [Android] Step1 - 안드로이드 소개 Android Studio app > java > com.example.myfirstapp > MainActivity 앱의 진입점. 앱을 빌드하고 실행하면 시스템에서 이 Activity의 인스턴스를 실행하고 레이아웃 로드 app > res > layout > activity_main.xml 이 xml 파일은 활동의 사용자 인터페이스(UI) 레이아웃 정의, 파일에 'Hello, World!' 라는 텍스트가 있는 TextView 포함 app > manifests > AndroidManifest.xml 매니페스트 파일은 앱의 기본 특성을 설명하고 앱의 각 구성요소를 정의 Gradle Scripts > build.gradle 이 이름을 가진 파일은 두개 1) Project: My_App // 프로젝트용 2) M.. [Android] BroadcastReceiver Broadcast 시스템이나 다른 앱이 발생시키는 Broadcast를 구독하거나 내 앱이 게시 가능 ex) 폰 부팅, 충전 시작, 블루투스 기능 상태 변화 구독하는법 1. AndroidManifest.xml에 선언하기 1) 앱이 실행중이 아니면 앱을 실행 2) Android 8.0 Oreo API 26부터는 일부 Broadcast를 제외하고는 사용 불가 3) https://developer.android.com/guide/components/broadcast-exceptions?hl=ko 암시적 브로드캐스트 예외 | Android 개발자 | Android Developers 백그라운드 제한에서 제외되는 암시적 브로드캐스트입니다. developer.android.com 2. Context에 등록하기 1) .. [Android] Permission Permission Android에서 각 application은 고유한 시스템 아이디(Linux의 user id 및 group id)를 사용하여 실행 각 애플리케이션은 각각 프로세스 샌드박스에서 실행 되며 자신의 영역이 아닌 다른 추가적인 부분의 기능 필요시 권한 신청 필요 ! 권한 신청 방법 1. AndroidManifest.xml 파일에 필요한 권한을 추가 2. Dangerous 권한인 경우 런타임에 반드시 권한 확인 1) Normal Permission : 다른 애플리케이션의 실행을 방해하거나 사생활 침해의 우려가 없는 권한 2) Dangerous Permission : 다른 애플리케이션의 실행을 방해하거나 사생활을 침해할 수 있는 권한 Normal Permission의 예 - 인터넷 사용, 와이파.. 이전 1 2 3 4 5 ··· 11 다음