λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
728x90

🍎 iOS61

[iOS] WKWebView - μ•±μ—μ„œ μ›Ήλ·°λ₯Ό λ„μš°μž πŸ“±WKWebView Class WKWebView κ°μ²΄λŠ” μ•± λ‚΄λΆ€μ˜ λΈŒλΌμš°μ €μ—μ„œ μ›Ή μ½˜ν…μΈ λ₯Ό λ³΄μ—¬μ€λ‹ˆλ‹€. WKWebView λŠ” λ„€μ΄ν‹°λΈŒ 뷰에 HTML, CSS, JavaScript 둜 ν‘œν˜„λ˜λŠ” μ›Ή λΈŒλΌμš°μ§•μ„ μ œκ³΅ν•©λ‹ˆλ‹€. μ•±μ˜ μ½˜ν…μΈ λ₯Ό λΉˆλ²ˆν•˜κ²Œ λ³€κ²½ν•΄μ•Όν•  경우, 웹앱을 μ‚¬μš©ν•˜κ²Œ 될 κ²ƒμ΄μ—μš”. λ„€μ΄ν‹°λΈŒ μ•±λ³΄λ‹€λŠ” 웹앱은 μ›Ή μ½˜ν…μΈ λ§Œ λ°°ν¬ν•˜λ©΄ λ˜λ‹ˆ 쒀더 μœ μ—°ν•œ λŒ€μ²˜κ°€ κ°€λŠ₯ν•˜κ² μ£ . πŸ‘‹ WKWebView Delegate WKWebView λŠ” delegate 객체λ₯Ό 톡해 μœ μ €μ˜ κ²½ν—˜κ³Ό 탐색을 μ»¨νŠΈλ‘€ν•  수 μžˆλ„λ‘ μ œκ³΅ν•©λ‹ˆλ‹€. μ—¬κΈ°μ„œ μœ μ €μ˜ κ²½ν—˜μ€ UI delegate, 탐색은 navigation delegate κ°€ λ‹΄λ‹Ήν•œλ‹€κ³  μ΄ν•΄ν–ˆμ–΄μš”. πŸ€” navigation delegate (WKNavigationDelegate) λ₯Ό.. 2022. 4. 30.
[iOS/SwiftUI] View, Stack κΈ°λ³Έ 정리 SwiftUI λŠ” UIKit κ³Ό λΉ„μŠ·ν•˜κ²Œ iOS μ•±μ˜ UI λ₯Ό 그리기 μœ„ν•œ ν”„λ ˆμž„μ›Œν¬μž…λ‹ˆλ‹€. iOS13 λΆ€ν„° μ‚¬μš©κ°€λŠ₯ν•˜μ§€λ§Œ iOS14 이상뢀터 κ°€λŠ₯ν•œ κΈ°λŠ₯듀이 λ§Žμ•„, λ―Έλ‹ˆλ©ˆ iOS14 μ—μ„œ 주둜 μ‚¬μš©ν•˜λŠ” 걸둜 μ•Œκ³  μžˆμŠ΅λ‹ˆλ‹€! λ‹€μŒ μ‚¬μ΄λ“œν”„λ‘œμ νŠΈλ‚˜ 클둠코딩은 SwiftUI 둜 κΌ­ ν•΄λ΄μ•Όκ² μ–΄μš”!! 그러기 μœ„ν•œ μŠ€ν„°λ”” μ‹œμž‘~! πŸ’ͺ SwiftUI 에 λŒ€ν•œ νŠΉμ§• - 선언적 ꡬ문을 μ‚¬μš©ν•΄ μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€μ˜ κΈ°λŠ₯을 λͺ…μ‹œν•˜κΈ°λ§Œ ν•˜λ©΄ λ©λ‹ˆλ‹€. - λ“œλž˜κ·Έ μ•€ λ“œλ‘­μœΌλ‘œ UI λ₯Ό ꡬ성할 수 있고, 미리보기가 κ°€λŠ₯ν•œ μΈν„°νŽ˜μ΄μŠ€κ°€ μžˆμŠ΅λ‹ˆλ‹€. (κ³Όμ—° μžμ£Όμ“Έμ§€ μ˜λ¬Έμ΄μ§€λ§Œμš”) - μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€μ˜ 속성은 λ©”μ†Œλ“œ 체이닝(Method Chaining) 문법을 μ΄μš©ν•΄ μ„€μ •ν•©λ‹ˆλ‹€. View ν”„λ‘œν† μ½œμ˜ Instance method λ₯Ό 보면.. 2022. 4. 29.
[iOS/Swift] TextView - URL (ν•˜μ΄νΌλ§ν¬)클릭해 μ›Ήλ·° λ„μ›Œμ£ΌκΈ° μ•ˆλ…•ν•˜μ„Έμš”. UITextView 에 ν•˜μ΄νΌλ§ν¬λ‘œ URL 을 λ‚˜νƒ€λ‚΄κΈ° μœ„ν•΄ 방법을 μ°Ύμ•„λ³Έ λ‚΄μš©μ„ μ •λ¦¬ν•˜λŸ¬ μ™”μŠ΅λ‹ˆλ‹€! μ²˜μŒμ—λŠ” UILabel μ—μ„œ μ μš©ν•˜λ €κ³  ν–ˆλŠ”λ° 방법이 λ³΅μž‘ν•΄μ„œ UITextView 둜 λ°”κΏ¨μŠ΅λ‹ˆλ‹€. - UILabel 을 μ‚¬μš©ν•˜λ €λ©΄ ν•΄λ‹Ή 링크λ₯Ό μ°Έκ³ ν•˜λ©΄ 쒋을 것 κ°™μ•„μš”. πŸ“ λͺ©μ°¨ 1. TextView 의 dataDetectorTypes 속성 μ„€μ •ν•˜κΈ° 2. UITextViewDelegate λ₯Ό 톡해 WKWebView λ„μ›Œμ£ΌκΈ° 이 두가지 과정을 톡해 TextView 의 ν…μŠ€νŠΈ 쀑 Http links λ₯Ό 클릭해 μ›Ήλ·°λ₯Ό λ„μ›Œμ€„ 수 μžˆμŠ΅λ‹ˆλ‹€. 1. TextView 의 dataDetectorTypes 속성 μ„€μ •ν•˜κΈ° UITextView μ—λŠ” dataDetectorTypes 속성이 μžˆμ–΄, phone num.. 2022. 1. 25.
[Swift] final ν‚€μ›Œλ“œλŠ” μ–Έμ œ μ‚¬μš©ν• κΉŒ? Swift μ—μ„œλŠ” λ‹€λ₯Έ 언어와 λΉ„μŠ·ν•˜κ²Œ 클래슀λ₯Ό 상속해 μ„œλΈŒν΄λž˜μŠ€λ₯Ό κ΅¬ν˜„ν•  수 μžˆμ–΄μš”. λ§Œμ•½, ν•΄λ‹Ή ν΄λž˜μŠ€κ°€ 더이상 상속이 ν•„μš”μ—†κ±°λ‚˜ νŠΉμ • 속성은 μ˜€λ²„λΌμ΄λ“œν•˜μ§€ μ•Šμ•„μ•Ό ν•œλ‹€λ©΄ μ–΄λ–»κ²Œ ν•΄μ•Όν• κΉŒμš”?! πŸ‘€ final ν‚€μ›Œλ“œλ₯Ό 톡해 더 이상 상속이 ν•„μš”μ—†μŒμ„ λͺ…μ‹œν•  수 있고, μ˜€λ²„λΌμ΄λ“œ ν•  μ‹œ 컴파일 μ—λŸ¬λ₯Ό λ°œμƒμ‹œν‚¬ 수 μžˆμŠ΅λ‹ˆλ‹€! λͺ…μ‹œμ μœΌλ‘œ μƒμ†λ˜μ§€ μ•ŠλŠ” 것 외에 λŸ°νƒ€μž„ μ„±λŠ₯이 ν–₯μƒλœλ‹€λŠ” μž₯점도 μžˆλ‹€κ³  ν•΄μš”. πŸ‘€ Swift λ¬Έμ„œμ—μ„œλŠ” λ‹€μŒκ³Ό 같이 μ„€λͺ…ν•˜κ³  μžˆμ–΄μš”! μ„œλΈŒν΄λž˜μŠ€μ—μ„œ νŠΉμ • method, property, subscript κ°€ μ˜€λ²„λΌμ΄λ“œ λ˜μ§€ μ•Šλ„λ‘ ν•˜κΈ°μœ„ν•΄μ„œ final ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•œλ‹€. final ν‚€μ›Œλ“œλ₯Ό 뢙인 method, property, subscript λ₯Ό μ„œλΈŒν΄λž˜μŠ€μ—μ„œ μ˜€λ²„λΌμ΄λ“œν•˜λ©΄, 컴파.. 2021. 12. 12.
[iOS] SnapKit / Then 라이브러리λ₯Ό μ΄μš©ν•΄ μ½”λ“œλ‘œ UI κ΅¬ν˜„ν•˜κΈ° SnapKit iOS μ—μ„œ Autolayout 을 μ½”λ“œλ‘œ κ΅¬ν˜„ν•  λ•Œ 쉽고 νŽΈλ¦¬ν•˜κ²Œ λ„μ™€μ£ΌλŠ” 라이브러리 μž‘μ„±ν•΄μ•Όν•˜λŠ” μ½”λ“œμ˜ 길이λ₯Ό 쀄여주고, 가독성을 λ†’μ—¬μ£ΌλŠ” μž₯점이 μžˆλ‹€. λ·° κ³„μΈ΅μ˜ depth κ°€ κΉŠμ–΄μ§€λ©΄ λ³΅μž‘ν•΄μ§ˆ 수 μžˆλ‹€. pure autolayout 으둜 Autolayout 을 μ μš©ν•˜λŠ” 방법 view.addSubview(label) label.translatesAutoresizingMaskIntoConstraints = false let leading = label.leadingAnchor.constraint(equalTo: view.leadingAnchor) let trailing = label.trailingAnchor.constraint(equalTo: view.trailingAnchor) le.. 2021. 11. 11.
[iOS/RxSwift] RxDataSource - UITableView, UICollectionView RxSwift μ—μ„œ DataSource λ₯Ό μ„€μ •ν•˜λŠ” 방법을 정리해보렀고 ν•©λ‹ˆλ‹€! UIKit 의 UITableView, UICollectionView λ₯Ό μ΄μš©ν•  λ•Œμ—λŠ” 각 λ¦¬μŠ€νŠΈμ— λŒ€ν•œ 데이터λ₯Ό ν‘œν˜„ν•˜κΈ° μœ„ν•΄ data source λ₯Ό μ§€μ •ν•΄μ€˜μ•Ό ν•˜λŠ”λ°μš”. κΈ°λ³Έμ μœΌλ‘œλŠ” data source ν”„λ‘œν† μ½œμ„ 채택해, λ©”μ†Œλ“œλ₯Ό κ΅¬ν˜„ν•΄ 데이터λ₯Ό ν‘œν˜„ν•©λ‹ˆλ‹€. RxSwift 와 RxDataSource μ—μ„œλŠ” data source λ©”μ†Œλ“œλ₯Ό 직접 κ΅¬ν˜„ν•˜μ§€ μ•Šκ³  μ‰½κ²Œ μ‚¬μš©ν•  수 μžˆλ„λ‘ μ˜€νΌλ ˆμ΄ν„°λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. 1. UIKit μ—μ„œ data source λ₯Ό μ„€μ •ν•˜λŠ” 방법 2. RxSwift μ—μ„œ data source λ₯Ό μ„€μ •ν•˜λŠ” 방법 3. RxDataSource λ₯Ό μ΄μš©ν•΄ data source λ₯Ό μ„€μ •ν•˜λŠ” 방법 1. UIKit .. 2021. 10. 17.
[iOS] iOS μ•± 배포 :: Certificates(μΈμ¦μ„œ)와 Provisioning profiles(ν”„λ‘œλΉ„μ €λ‹ ν”„λ‘œνŒŒμΌ) iOS 앱을 μ•± μŠ€ν† μ–΄μ— λ°°ν¬ν•˜κΈ° μœ„ν•΄ ν•„μš”ν•œ κ°œλ… 쀑 μΈμ¦μ„œμ™€ ν”„λ‘œλΉ„μ €λ‹ ν”„λ‘œνŒŒμΌμ„ μ•Œμ•„λ³Όκ²Œμš” πŸ‘€ 1. Certificates (μΈμ¦μ„œ) 2. Provisioning Profiles (ν”„λ‘œλΉ„μ €λ‹ ν”„λ‘œνŒŒμΌ) μ§€λ‚œλ²ˆ κ°œλ°œν•œ Zerobin 앱을 μ—…λ°μ΄νŠΈ ν•˜κΈ° μœ„ν•΄ λ‹€μ‹œ μΈμ¦μ„œμ™€ ν”„λ‘œλΉ„μ €λ‹ ν”„λ‘œνŒŒμΌμ„ λ“±λ‘ν–ˆμ§€λ§Œ 무엇을 μœ„ν•΄ ν•„μš”ν•œκ±΄μ§€ λͺ¨λ₯΄κ² μ–΄μ„œ 정리λ₯Ό ν•©λ‹ˆλ‹€ πŸ₯² 1. Certificates (μΈμ¦μ„œ) μΈμ¦μ„œλŠ” μ• ν”Œμ΄ 개발자λ₯Ό μ‹ λ’°ν•  수 μžˆλŠ” λ³΄μ¦μ„œμ΄λ‹€. “μ• ν”Œλ§Œμ΄ μžμ‹ μ˜ ν•˜λ“œμ›¨μ–΄μ— μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό λ™μž‘μ‹œν‚¬ 수 μžˆλ‹€” -> μ• ν”ŒμΈμ¦μ„œλ₯Ό λ°œκΈ‰λ°›μ•„μ•Όλ§Œ κ°œλ°œμžλŠ” μ• ν”Œ ν•˜λ“œμ›¨μ–΄μ— μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό λ™μž‘μ‹œν‚¬ 수 μžˆλ‹€. μ• ν”Œμ˜ μ‹€μ œ ν•˜λ“œμ›¨μ–΄(아이폰, μ•„μ΄νŒ¨λ“œ)μ—μ„œ μš°λ¦¬κ°€ λ§Œλ“  μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό λ™μž‘ν•˜κΈ° μœ„ν•΄ μΈμ¦μ„œκ°€ ν•„μš”ν•˜λ‹€. - iO.. 2021. 10. 15.
[Swift] μŠ€ν„°λ”” 7μ£Όμ°¨ - κ·Έλž˜ν”„ μ•Œκ³ λ¦¬μ¦˜ 6/1 μ§„ν–‰ν–ˆλ˜ μŠ€μœ„ν”„νŠΈ 데이터 ꡬ쑰와 μ•Œκ³ λ¦¬μ¦˜ μ±…μ˜ 5μž₯ '트리 ꡬ쑰 기반의 μ•Œκ³ λ¦¬μ¦˜' μŠ€ν„°λ”” μ •λ¦¬μž…λ‹ˆλ‹€! 1. κ·Έλž˜ν”„μ˜ κ°œλ…, κ·Έλž˜ν”„μ˜ μ’…λ₯˜ 2. κ·Έλž˜ν”„μ˜ ν‘œν˜„ 방식 (μ½”λ“œμ μœΌλ‘œ) 3. κ·Έλž˜ν”„ 탐색 - DFS(κΉŠμ΄μš°μ„ νƒμƒ‰), BFS(λ„ˆλΉ„μš°μ„ νƒμƒ‰) πŸ’‘ κ·Έλž˜ν”„(Graph) κ·Έλž˜ν”„λŠ” λ…Έλ“œ(Vertex; 꼭지점)와 λ…Έλ“œλ₯Ό μ—°κ²°ν•˜λŠ” κ°„μ„ (Edge; λͺ¨μ„œλ¦¬)의 μ§‘ν•©μœΌλ‘œ 이루어진 데이터 κ΅¬μ‘°μž…λ‹ˆλ‹€. κ·Έλž˜ν”„λ₯Ό 톡해 μ—°κ²°λ˜μ–΄ μžˆλŠ” κ°μ²΄λ“€μ˜ 관계λ₯Ό ν‘œν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€. κ·Έλž˜ν”„μ˜ ν™œμš© μ˜ˆμ‹œ : SNS μ—μ„œ μ—°κ²°λœ μ‚¬λžŒλ“€, 지도, μ§€ν•˜μ²  λ…Έμ„ λ„μ˜ μ΅œλ‹¨ 경둜, μ„ μˆ˜ κ³Όλͺ© λ“± .. βœ”οΈŽ κ·Έλž˜ν”„(Graph)의 μ’…λ₯˜ 1) 무방ν–₯ κ·Έλž˜ν”„(Undirected Graph) λ…Έλ“œλ₯Ό μ—°κ²°ν•˜λŠ” 간선이 μ–‘λ°©ν–₯성인 κ·Έλž˜ν”„μž…λ‹ˆλ‹€. λ°©ν–₯이 μ—†λ‹€λŠ”.. 2021. 7. 26.
[Swift] μŠ€ν„°λ”” 5μ£Όμ°¨ - 트리 ꡬ쑰 기반의 μ•Œκ³ λ¦¬μ¦˜ 5/18 μ§„ν–‰ν–ˆλ˜ μŠ€μœ„ν”„νŠΈ 데이터 ꡬ쑰와 μ•Œκ³ λ¦¬μ¦˜ μ±…μ˜ 5μž₯ '트리 ꡬ쑰 기반의 μ•Œκ³ λ¦¬μ¦˜' μŠ€ν„°λ”” μ •λ¦¬μž…λ‹ˆλ‹€! πŸŽ„ 1. 트리의 νŠΉμ§• 2. 트리 vs κ·Έλž˜ν”„ 3. 이진 트리, 이진 트리의 μ’…λ₯˜ 4. 이진 탐색 트리(BST, Binary Search Tree) 5. 트리 순회 방식 6. B νŠΈλ¦¬μ™€ μŠ€ν”Œλ ˆμ΄ 트리 πŸŽ„ 트리(Tree) νŠΈλ¦¬λŠ” λ…Έλ“œμ˜ μ§‘ν•©μœΌλ‘œ, 계측을 이루고 μžˆλŠ” 데이터 ꡬ쑰λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€. 트리의 μ΅œμƒμœ„ λ…Έλ“œμΈ 루트 λ…Έλ“œ, κ·Έ μ•„λž˜λ‘œ λ»—μ–΄λ‚˜κ°€λŠ” μžμ‹ λ…Έλ“œλ‘œ κ΅¬μ„±λ©λ‹ˆλ‹€. 각각의 λ…Έλ“œλŠ” ν‚€ κ°’, μžμ‹ λ…Έλ“œ 집합, λΆ€λͺ¨ λ…Έλ“œ 링크 등을 ν¬ν•¨ν•˜κ³  μžˆλŠ” 데이터 κ΅¬μ‘°μž…λ‹ˆλ‹€. 트리의 νŠΉμ§• νŠΈλ¦¬λŠ” κ·Έλž˜ν”„μ˜ ν•œ μ’…λ₯˜λ‘œ, 사이클이 μ—†λŠ” ν•˜λ‚˜μ˜ μ—°κ²° κ·Έλž˜ν”„μž…λ‹ˆλ‹€. νŠΈλ¦¬λŠ” 이진 트리, 이진 탐색 트리, κ· ν˜• 트리(AV.. 2021. 7. 26.
728x90