ios
-
Stroyboard Componentsios/Etc 2022. 5. 19. 17:44
스토리보드 스토리보드는 iOS 애플리케이션의 사용자 인터페이스를 시각적으로 표현한 것으로 콘텐츠 화면과 해당 화면 간의 연결을 보여준다. 스토리보드는 일련의 장면으로 구성되며, 각 장면은 viewController와 해당 View를 나타낸다. 장면은 두 viewController 간의 전환을 나타내는 segue로 연결된다. 스토리보드를 사용하면 하나의 캔버스에서 사용자 인터페이스의 모양과 흐름을 시각화할 수 있으므로 애플리케이션의 사용자 인터페이스를 디자인하는 데 권장되는 방법이다. Storyboard Object 1. Label: 임의의 텍스트 표시 설정 한 경계 사각형의 크기와 속성에 따라 텍스트를 축소, 줄 바꿈 또는 자를 수 있음. 텍스트의 글꼴, 텍스트 색상, 정렬, 강조 표시 및 음영을 제어 ..
-
Xcode 기능들과 AppProject 속성ios/Etc 2022. 5. 19. 15:38
프로젝트를 만들기 위해서 Create a new Xcode project 혹은 File > New > Project.. 를 누르면 이런 화면이 나온다. 프로젝트는 애플리케이션을 구성하는 데 필요한 파일 및 리소스를 제공해 주는 데 여러 OS와 템플릿 중 하나를 선택하여 프로젝트를 생성하여 애플리케이션을 제작한다. 프로젝트를 생성하면 기본 창이 나타난다. Toolbar 영역 작업용 도구들이 모여 있는 영역이다. 앱의 빌드와 실행, 시뮬레이터 설정이 있으며 프로젝트의 상태와 결과를 나타내준다. 툴바(Toolbar)를 표시하려면 View > Show Toolbar를 선택하면 된다. 툴바 오른쪽에 있는 Show/hide areas을 사용하여 메인 창의 다른 영역을 표시하고 숨길 수 있다. Library 버튼 이..
-
Info.plistios/Etc 2022. 5. 18. 20:03
plist(속성 목록)은 응용 프로그램 데이터를 저장하기 위한 유연하고 편리한 형식이다. 원래 iPhone 장치에서 사용하고 나중에 다른 응용 프로그램으로 확산하기 위해 Apple에서 정의했다. plist는 XML 파일이므로 간단한 텍스트 편집기를 사용하여 번역할 수 있다. 그러나 잘못된 위치에 한 문자라도 있으면 파일을 사용할 수 없게 된다. Info.plist란 무엇인가? Information Property List(정보 속성 목록) 번들을 식별하고 구성하는 키-값 쌍을 포함하는 리소스 앱이 시스템에 메타데이터를 제공하는 방법(사용자에게 더 나은 경험을 제공하기 위해 iOS 및 macOS는 각 앱 또는 번들에 있는 특수 메타데이터에 의존한다.) Info.plist의 속성 UIKit Applicati..
-
@escapingios/Etc 2022. 5. 14. 16:51
@escaping escaping은 탈출 클로저로 함수을 말한다. 함수가 반환된 후 실행 되는 것을 의미한다. 클로저의 escaping은 A 함수가 마무리된 상태에서만 B 함수가 실행되도록 함수를 작성할 수 있다는 점에서 유용하다. 클로저 인자를 함수 밖에서도 연장(Outlive)이 필요할 때 사용한다. 공모전에 나가서 네트워크 통신을 위해 Alamofire 라이브러리를 사용했을 때 동기와 비동기 문제로 고민했던 경험을 예로 설명을 하자면 지금은 지워서 기억이 나지 않지만 이 전에 작성했던 코드에서 실행 순서를 보장 받지 않아서 서버의 응답 값과 View 전환이 엇박자를 타서 애를 먹었던 적이 있다. 아직 개념이 부족했던 터라 Lifecycle의 문제인 줄 알고 삽질을 했었는데, 결국 많은 검색 끝에 A..
-
Disposing and Terminatingios/RxSwift 2022. 4. 19. 15:34
Observable은 subscribe 이후 complete 또는 error 이벤트가 발생하기 전까지 계속 next 이벤트를 발생시키므로 메모리 누수가 발생함으로 dispose 해줘야 함 일반적인 dispose 방법 let observable = Observable.of(1,2,3) let subscription = observable.subscribe{ print($0) } subscription.dispose() 원하는 시점에서 dispose할 수 있지만 일일이 해야하는 번거로움이 있음 disposeBag 특정 observable을 처리하는 주요 역할 여러 개의 구독을 한 번에 처리가 가능하다. let disposeBag = DisposeBag() OBservable.of("A","B","C") .s..
-
Implementing Observable & Subscriptions (just, of, from)ios/RxSwift 2022. 4. 19. 14:44
import RxSwift let observable = Observable.just(1) //단순한 한개의 인자 let observable2 = Observable.of(1,2,3) //1,2,3을 각 인자로 받아들임 let observable3 = Observable.of([1,2,3]) //[1,2,3] whole list 덩어리채로 접근 let observable4 = Observable.from([1,2,3,4,5]) //list 원소 하나씩 접근 observable4.subscribe { event in print(event) //이상태로는 next(value)형식으로 출력되고 마지막에 completed가 출력됨 //언랩핑 필요 } observable4.subscribe (onNext: { e..
-
OBSERVABLEios/RxSwift 2022. 4. 19. 12:24
observable 일련의 순서를 가지고 있으며 해당 순서대로 사용자에게 이벤트를 전달하는 기능 observable(= sequence)은 Rx 프레임워크의 심장이라고 할 수 있다. integer, string, dictionary 등 모든 값을 Emit 할 수 있다. 구성요소에 next, completed, error가 있다. next: 구성요소를 계속 방출시킬 수 있는 기능(구독자에게 데이터 전달) completed: 이벤트를 종료시킬 수 있는 기능(구독자에게 완료되었음을 알림) error: 이벤트에 오류가 있음을 알고 중간에 종료시킬 수 있는 기능(구독자에게 오류를 랄림) 아래 화살표가 iOS 인터페이스를 관찰한 시간이라고 해보자. -------------------------------------..
-
What is RxSwift & CocoaPods?ios/RxSwift 2022. 4. 18. 20:09
RxSwift Reactive eXtensions의 줄임말로 관찰 가능한 시퀀스를 사용하여 비동기식 프로그램 및 이벤트 기반 프로그램을 구성하기위한 오픈 소스 라이브러리이다. 비동기적인 코드를 간결하고, 촘촘하고, 유지보수를 쉽게해주는 라이브러리이다. CocoaPods dependency manager for Swift and Object-C Cocoa projects 만약 iOS 앱을 만들거나, 작업을 하고 있는데 다른 프레임워크와 통합하고 싶을 때 사용한다. RxSwift 사용법 1. $cd {swift폴더 경로} 2. $sudo gem install cocoapods //만약 cocopods이 설치 되어있다면 $pod update 3. $pod init //Podfile 생성 4. //Podfile..