n짝, n쌍값이 있을 수도 없을 수도 있다.0이나 공백이 값이 없는게 아니다.Int? -> Int, String? -> String 으로 변환한다. return은 가장 바깥 쪽에서 사용 불가. ( 클래스나 함수 안쪽에 있지 않음) guard는 이 구문이 만족하지 않는
위 방법을 사용해 여러줄 String출력이 가능하다. String을 배열형태로 나눌 수 있다.append 키워드로 요소 추가방어코드로 에러를 막을 수 있다.다른 배열 추가인덱스 제거인덱스 삽입인덱스와 요소 동시 접근순서가 보장되지 않고, 중복된 값에 대해서 한개만 출력
구조상으로 함수와 비슷하다.클로저는 이름이 없는 함수이다. 클로저의 축약형클로저 활용sort() 는 원본 자체를 정렬,sorted()는 리턴이 있음타입분류
생성자편의 이니셜라이저를 사용하면 중복되는 것을 제외하고 편하게 사용할 수 있다. 반드시 다른 이니셜라이저를 실행.클래스는 이니셜라이저를 설정해주어야하고, 구조체는 이니셜라이저를 설정 안하고 호출할 시 스위프트가 자동으로 구조를 만들어줌해제weak를 사용해 해결. Ro
IOS UI 개발 방식IOS 앱 개발 방식에는 크게 Swift UI와 UIkit StroyBoard가 있다. 우선 UIKit은 StoryBoard를 통해 직접 시각정보를 통해 인터페이스를 관리한다. UI를 구성하기 위한 가장 기본적인 방법이다. Swift UI는 모든
페이지 이동 버튼 우선 StroyBoard 형식으로 실행한다. 그리고 viewController: 이곳에서 코드를 작성한다. Main: 버튼, 라벨 등등 인터페이스상으로 설치하고 눈으로 확인할 수 있다. 위에 창에 우클릭 - newfile을 통해 새로운 탭을 형
Dispatch Queue대부분의 UI는 메인스레드에서 작동을 해야한다.메인스레드가 중지하게되면 모든 작업들이 일시적으로 멈춰버리기 때문에 이를 해결하기위해 다른 스레드에 코드를 맡기고 결과값을 메인 스레드가 처리하게끔 한다.어떤 작업을 하는 것들을 묶어서 표현하고 싶
OnBoarding 이런식으로 버튼 함수를 따로 분리하여 제작한다. 그리고 세번째 창에서만 버튼이 나와 클릭하면 사라지는 함수를 구현한다. 익스텐션으로 currentIndex와 버튼을 숨김기능 등 구현하고 정상적으로 설계한것같았는데.. 이상하게 버튼이 나오지 않는다
OnBoardingView 이런식으로 화면위에 뜨는 형식이다. 우선 새로운 cocoatouch파일을 만들어서 페이지를 따로 제작해주고, 메인 뷰 컨트롤러에서 이런식으로 인스턴스화 시킨후, present를 통해 불러오는 형식이다. 주의할 점은 반드시 viewDidAp
PhotoGallery핵심적인 내용은 레이아웃을 통한 사진 배치와 권한 설정 내용이었다. 이런 배치로 한칸만 포토 컬렉션과, 이미지 셀을 이용하여 배치한 후,viewdidload에서 전반적인 레이아웃 설정을 마친다. 그 과정에서 깔끔하게 정리하기 위해 함수를 사용했다.
PhotoGallery지난번에 이어 갤러리에서 사진을 가져오는 작업을 추가한다.result에 이미지 고유 ID가 들어있다.ID들을 collection view에 불러들이는 과정이 필요한데, 중요한 점은 사진의 저화질, 고화질 설정과 requestimage 를 어디서 선
Movie App 무비앱 영화설명 이미지, 설명, 제목, 가격 눌렀을때 동영상 재생까지 하는 기능을 가진 어플이다. 우선 테이블 뷰와 이미지 뷰, 서치바 그리고 4개의 라벨을 오토레이아웃을 통해 적절하게 배치한다. 메인 컨트롤뷰에 이런식으로 델리게이트와 데이터
Custom Button 버튼을 클릭하면 회전하는 버튼을 만들겠다. 우선 버튼에 대한 함수를 일괄적으로 처리할 클래스를 하나 만들어야한다. Rotate Button 이라하고, UIButton으로 만든다. 열거형으로 업일때, 다운일때를 구분해준다. 그리고 클래스
Navigation title우선 기존 버전과 다르게 Navigation Item 부분이 사라졌으나, Title은 그대로 남아있다.그부분을 여러방향으로 바꿔본다.타이틀을 문자열로는 물론, 버튼으로도 변경이 가능하다.이렇게 버튼을 설정해두면 클릭할시 test Action