본문 바로가기

iOS/swift

optional 해제방법 안녕하세요~! coit입니다. 이번 시간은 ?에 대해 알아보겠습니다. ?는 optional입니다.~~ optional은 nil값을 참조하여 에러가 나는 것을 방지하기 위해서 사용됩니다. optional을 해제 하는 방법에 대해서 알아보겠습니다. 크게 2가지 방법이 있습니다. 1. 명시적 해제 2. 묵시적 해제 1. 명시적 해제를 보겠습니다. 1) !연산자를 이용하여 강제로 optional을 해제합니다. nil이 들어있는 변수를 강제로 optional을 해제하면 치명적 오류가 발생하므로 주의해야 합니다. var optionalValue: Int? = 3 var newValue = optionalValue! 2) optional binding var optionalValue: Int? = 3 //if문에서 .. 더보기
try-catch처리 개인 error을 만들기 Error Protocol을 이용하여 열거형을 만듭니다. 여기에서는 phoneError라는 이름으로 만들었습니다. error발생시키기 함수 안에 error를 발생시킬 수 있습니다. 함수 선언부분에 throws를 써야합니다. 던지고자하는 error앞에 throw를 써야합니다. throw를 통해서 함수를 요청했던 부분으로 에러가 던져집니다. error처리 error를 처리하는 방법은 총 3가지가 있습니다. 1. do - catch 함수에서 던져진 error를 do안에서 받고 error에 해당되는 catch문에서 처리합니다. 2. try? 함수에서 던져진 error를 해당 줄에서 받게 됩니다. error가 발생하면 nil을 받게 됩니다. error가 없으면 정상적인 반환값을 받게 됩니.. 더보기
기본문법 try-catch 더보기
In-Out 파라미터(Parameters) In-Out Parameters Function parameters are constants by default. Trying to change the value of a function parameter from within the body of that function results in a compile-time error. This means that you can’t change the value of a parameter by mistake. If you want a function to modify a parameter’s value, and you want those changes to persist after the function call has ended, define that par.. 더보기
[Swift] AVFoundation 이용하기 import Cocoa import AVFoundation import AVKit //[url] => [AVPlayerItem]: AVPlayerItem.AVAsset.[AVMetadataItem]: AVMetadataItem.AVMetadataKey.String? => [Track] => [Album] struct Track { var title: String? var albumName: String? var singer: String? init(aTitle: String?, aAlbumName: String?, aSinger: String?) { self.title = aTitle self.albumName = aAlbumName self.singer = aSinger } } struct Album .. 더보기
[swift] collectionview 사용하기 안녕하세요~! kai입니다. 이 시간에는 CollectionView를 어떻게 사용하는지 보겠습니다. 보통 화면에서 UIViewController, CollectionView, CollectionViewCell를 사용은 아래와 같은 순서로 합니다. * StoryBoard안의 UIViewController, CollectionView, CollectionViewCell와 소스파일를 연결하기 StoryBoard안의 object 소스파일 1. StoryBoard에 UIViewController, ColletionView(CollectionViewCell을 안에 자동으로 포함함)를 추가합니다. 2. 소스파일을 새로 만듭니다.(만든 UIViewController을 연결하기 위한) - UIViewController를.. 더보기
[swift] Access Control Access control restricts access to parts of your code from code in other source files and modules. This feature enables you to hide the implementation details of your code, and to specify a preferred interface through which that code can be accessed and used. 접근 제어는 다른 자료 파일들과 독립적인 구성요소(모듈) 안의 소스에서 네 코드의 일부분에 대한 접근을 제한합니다. 이 특징은 네가 네 코드의 수행 세부사항을 숨길 수 있게 해 줍니다. 그리고 접근 제어를 통한 우선되는(선호하는) 접점을 명시할 수.. 더보기
[swift] view memory 화면 설명 안녕하세요. kai입니다. 이번 시간에는 view memory화면을 어떻게 이해하면 되는지 보도록 하겠습니다. 왼쪽 부분은 주소(16진수 또는 10진수), 위 그림은 16진수로 표현된 것입니다. 주소 부분을 왼쪽 마우스로 누르면 주소 표현방식이 16진수10진수로 바뀜 메모리는 1byte마다 참조하도록 주소를 부여함. 메모리는 한 bit마다 0 또는 1을 저장합니다.(컴퓨터는 bit단위로 정보를 처리합니다.) 한자리씩 모두 표시하면 너무 길이가 길어져서 사람이 보기 힘들기 때문에 보통 4자리를 한 묶음(16진수)으로 봅니다. 그리고 4자리를 2번 묶음 = 8자리 한 묶음을 1byte라고 하죠. 1byte마다 참조할 수 있도록 주소를 부여합니다. 메모리에 저장된 5F를 어떻게 생각하면 될까요? 사람에게 익숙.. 더보기

]