Programming/iOS
-
[동영상 강의] 앨런님의 iOS 동시성 프로그래밍...Programming/iOS 2020. 7. 2. 01:12
비동기 코드를 짜다 보면 심심찮게 쓰이는 코드 DispatchQueue.global().async { ... } DispatchQueue.main.async { ... } main 쓰레드에서만 UI 작업을 할 수 있으므로 메인쓰레드에서 돌린다. 네트워크와 같은 비동기로 돌아가는 작업은 global 에서 돌린다. => 그런데, global은 왜 메인쓰레드와 다르게 생성자를 쓰지...? 쓰레드를 우리가 직접만드는거야? Qos 는 뭐야....? 중요도는 언제쓰는거야...? 와 같은 궁금점을 해결할 수 있는 단비같은 강의를 발견했다! 강의 이름도 길다... iOS Concurrency(동시성) 프로그래밍, 동기 비동기 처리 그리고 GCD/Operation - 디스패치큐와 오퍼레이션큐의 이해 강사님이 기억에 남을..
-
[SwiftUI] 동적 데이터를 리스트로 표현Programming/iOS 2020. 6. 26. 14:31
동적 데이터 리스트를 표현하기 위해서는, 데이터가 Identifiable 프로토콜을 따르도록 정의 해야 한다. 또한, 리스트내에서 각 항목을 식별하기 위해 id 라는 이름의 프로퍼티가 객체에 있어야 한다. UUID() 는 각 항목마다 고유한 ID를 자동으로 생성하는데 사용된다. struct ToDoItem: Identifiable { var id = UUID() var task: String var imageName: String } var listData: [ToDoItem] = [ ToDoItem(task: "방청소", imageName: "trash.circle.fill"), ToDoItem(task: "장보기", imageName: "cart"), ToDoItem(task: "공부", imageN..
-
[SwiftUI] Image 의 systemName 이란Programming/iOS 2020. 6. 24. 11:03
Image(systemName: "wifi") 이미지를 불러올때, 위과 같이 와이파이 아이콘을 불러올 수 있다. Asstes 에는 wifi 이미지가 들어있지 않은데, 어디서 이미지를 가져오는 것일까? 이것은 바로 Apple 에서 제공해주는 SF Symbol 라이브러리에서 가져오는 것이다. 애플 플랫폼용 앱을 개발할때 사용할 수 있는 2400여가지 벡터 이미지 모음이며, 애플의 샌프란시스코 시스템 폰트를 보완하기 위해 디자인되어 졌다. Apple HIG SF Symbol https://developer.apple.com/design/human-interface-guidelines/sf-symbols/overview/ SF Symbols - SF Symbols - Human Interface Guidelin..
-
[SwiftUI] 상태 프로퍼티Programming/iOS 2020. 6. 23. 23:23
상태 프로퍼티란? 뷰 레이아웃의 현재상태값을 저장하기 위해 사용됨 예) 텍스트필드에 입력된 String 문자열 예제) 텍스트 필드와 바인딩 struct StateProperty: View { // 상태 프로퍼티 선언 @State private var userName = "" var body: some View { VStack { // 뷰와 바인딩 => 바인딩되어 있는 뷰에서 변경이 일어나면, 상태프로퍼티에 자동으로 반영됨 TextField("Enter name", text: $userName) } } } struct StateProperty_Previews: PreviewProvider { static var previews: some View { StateProperty() } } 상태프로퍼티와 뷰를 ..
-
TodayExtension widget 에서 스토리보드 삭제Programming/iOS 2020. 3. 29. 03:29
1. Info.plist 파일 수정 NSExtensionPrincipalClass TodayViewController NSExtensionPointIdentifier com.apple.widget-extension 2. TodayViewController 파일 수정 @objc (TodayViewController) class TodayViewController: UIViewController, NCWidgetProviding { // .... } 3. 스토리보드 파일 삭제