iOS
-
[iOS] Xib ์ฌ์ด์ฆ ๋ณ๊ฒฝํ๊ธฐiOS 2022. 4. 9. 02:47
Attributes Inspector์ Size๋ฅผ ๋ณด๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก Inferred๋ผ๊ณ ๋์ด์๋ค. Size Inspector์ View์ Width, Height ๋ํ ๋ณ๊ฒฝํ ์ ์๋๋ก ๋์ด์๋ค. Xib ์ฌ์ด์ฆ๋ฅผ ๋ณ๊ฒฝํด์ฃผ๊ธฐ ์ํด์๋, Attributes Inspector์ Size๋ฅผ Freeform์ผ๋ก ์ค์ ํด์ฃผ๋ฉด ๋๋ค. ๊ทธ๋ฌ๋ฉด Size Inspector์ View์ Width, Height๋ฅผ ๋ชจ๋ ๋ณ๊ฒฝํ ์ ์๊ฒ ๋๋ค.
-
[iOS] Xcode 13.3, Swift 5.6 warning on self (์๋ฌธ ํด๊ฒฐ ๋ชปํจ)iOS 2022. 4. 6. 15:18
button์ addTarget์ ํ๊ณ target์ self๋ฅผ ๋ฃ์ด์ฃผ์๋๋ ์๋์ ๊ฐ์ ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ๋ณผ ์ ์์๋ค. 'self' refers to the method 'ViewController.self', which may be unexpected ์ฌ๊ธฐ์ Fix ๋ฒํผ์ ๋๋ฅด๋ฉด Xcode๊ฐ ViewController.self๋ก ๋ณ๊ฒฝํด์ฃผ๋๋ฐ, ์ด๋ ๊ฒ ํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. ์ ๋ฐ์ํ ๊น??????? ์ด๊ฑด ์ง๋ฌธ์ ํ๋ฒ ํด๋ด์ผํ ๊ฒ ๊ฐ๋ค.. ์ผ๋จ ํด๊ฒฐ ๋ฐฉ๋ฒ์ self๋ฅผ ViewController.self๋ก ๋ฐ๊พธ๋ผ๋ ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ๋ณด์ง ์์ผ๋ ค๋ฉด, private let์ lazy var๋ก ๋ณ๊ฒฝํด์ฃผ๋ฉด ๋๋ค. https://samwize.com/2022/03/21/swift-5-6-warning-on-self/
-
[iOS] UITextField extension์ผ๋ก ๊ตฌํํ ๋ NSObject๋ฅผ ์์ํด์ผํ๋ ์ด์iOS 2022. 4. 1. 15:32
https://stackoverflow.com/questions/40705591/class-does-not-conform-nsobjectprotocol https://stackoverflow.com/questions/24650325/why-in-swift-we-cannot-adopt-a-protocol-without-inheritance-a-class-from-nsobjec https://stackoverflow.com/questions/33006082/swift-reusable-uitextfielddelegate
-
[iOS] UITest UITargetAppPath should be provided ์ค๋ฅ ํด๊ฒฐiOS 2022. 3. 22. 18:01
ํ๋ก์ ํธ ์ด๋ฆ์ ๋ชจ๋ ๋ณ๊ฒฝํ๊ณ , ๋ค๋ฅธ ๊ฒ๋ค์ ๋ชจ๋ ์ ์ ๋์ํ์ง๋ง UITest๊ฐ ์ ์ ๋์ํ์ง ์์๋ค. ์ค๋ฅ ๋ฉ์์ง๋ ์๋์ ๊ฐ์๋ค. ํด๊ฒฐ๋ฐฉ๋ฒ General -> Testing -> Target Application์ None์ผ๋ก ์ค์ ํ๋ค๊ฐ, ๋ค์ Target Application์ ์ค์ ํด์ฃผ๋ฉด ๋๋ค.
-
[iOS] MVC (Model-View-Controller)iOS 2022. 3. 17. 02:07
MVC๋? MVC๋ ๋ค์ 3๊ฐ์ง ์ฃผ์ ๊ฐ์ฒด๋ก ๊ตฌ์ฑ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ ํจํด์ด๋ค. Model ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ด๋ จ๋ ๋ฐ์ดํฐ๋ฅผ ์บก์ํํ๊ณ , ํด๋น ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ๊ณ ์ฒ๋ฆฌํ๋ ๋ก์ง๊ณผ ๊ณ์ฐ์ ์ ์ํ๋ค. View ์ฑ์ ๋ทฐ๋ก, ์ ํ๋ฆฌ์ผ์ด์ ๋ด์์ ์ฌ์ฉ์๊ฐ ๋ณผ ์ ์๋ ๊ฐ์ฒด๋ฅผ ๋งํ๋ค. Controller delegate ํจํด์ ํตํด ํ๋ ์ด์์ ์ ํ๋ฆฌ์ผ์ด์ View ๊ฐ์ฒด์ ํ๋ ์ด์์ Model ๊ฐ์ฒด ์ฌ์ด์ ์ค๊ฐ์ ์ญํ ์ ํ๋ค. Model, View, Controller์ ์๋ก ์์กดํ์ง ์๊ณ Loosely Coupled ๋์ด์๋ค. ์ด๋ ์ฆ Model, View, Controller๊ฐ ์๋ก ๋ ๋ฆฝ์ ์ผ๋ก ์๋ํ๋ค๋ ์๋ฏธ๋ก, ์ฝ๋ ๊ตฌ์ฑ์ด ๊ฐ๋จํ๊ณ ์ดํดํ๊ธฐ ์ฌ์ฐ๋ฉฐ ์ ์ง๋ณด์๊ฐ ์ฌ์์ง๋ค. ๋ชจ๋ธ ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ์ง ์๊ณ ๋ ๋ทฐ์ ๋ฒ๊ทธ๋ฅผ ์์ ..
-
[iOS] TabBarItem ์ด๋ฏธ์ง ๋ณ๊ฒฝํ ๋ ์ฃผ์ํ ์ iOS 2022. 2. 23. 23:49
TabBarController๋ฅผ ์ถ๊ฐํด์ TabBarItem์ ์ด๋ฏธ์ง๋ฅผ ๋ณ๊ฒฝํ๋ฉด์ ๊ฒช์ ๊ฒ๋ค! ์คํ ๋ฆฌ๋ณด๋๋ก ๋ณ๊ฒฝํ๊ธฐ, ์ฝ๋๋ก ๋ณ๊ฒฝํ๊ธฐ ๋ชจ๋ ์๋ํด๋ณด์๋ค. 1. ์คํ ๋ฆฌ๋ณด๋๋ก ๋ณ๊ฒฝํ๊ธฐ ์๋ 1 - TabBarItem์ Attributes Inspector์์ Tab Bar Item์ System Item ์ค์ → ์ด๋ฏธ์ง ํ์๋์ง๋ง, selected/unselected ๊ตฌ๋ถ X ์๋ 2 - TabBarItem์ Attributes Inspector์์ Tab Bar Item์ Selected Image ์ค์ → ์ด๋ฏธ์ง ํ์ X ์๋ 3 - TabBarItem์ Attributes Inspector์์ Bar Item์ Image๋ง ์ค์ → ์ด๋ฏธ์ง ํ์ X ์๋ 4 - TabBarItem์ Attributes ..
-
[iOS] instantiateViewController(withIdentifier:)iOS 2022. 2. 19. 01:41
Instance Method instantiateViewController(withIdentifier:) ์ง์ ๋ identifier๋ก ๋ทฐ์ปจํธ๋กค๋ฌ๋ฅผ ๋ง๋ค๊ณ ์คํ ๋ฆฌ๋ณด๋์ ๋ฐ์ดํฐ๋ก ์ด๊ธฐํํ๋ค. Declaration func instantiateViewController(withIdentifier identifier: String) -> UIViewController Parameters identifier ์คํ ๋ฆฌ๋ณด๋ ํ์ผ์์ ๋ทฐ์ปจํธ๋กค๋ฌ๋ฅผ ๊ณ ์ ํ๊ฒ ์๋ณํ๋ identifier ๋ฌธ์์ด. ๋์์ธ ํ์์์ ์ธํฐํ์ด์ค ๋น๋์์ ๋ทฐ์ปจํธ๋กค๋ฌ์ Storyboard ID ์์ฑ์ ๋์ผํ ๋ฌธ์์ด์ ๋ฃ๋๋ค. ์ด identifier๋ ๋ทฐ์ปจํธ๋กค๋ฌ ๊ฐ์ฒด ์์ฒด์ ์์ฑ์ด ์๋๋ค. ์คํ ๋ฆฌ๋ณด๋๋ ์ด identifier๋ฅผ ์ฌ์ฉํ์ฌ ๋ทฐ์ปจํธ๋กค๋ฌ์ ์ ..
-
[iOS] ๋ทฐ์ ์ํ๋ณํ ๊ฐ์ง ๋ฉ์๋iOS 2022. 2. 18. 13:46
๋ทฐ๊ฐ ํ๋ฉด์ ๋ณด์ฌ์ง๋ ์ํ์ ๋ณํ๋ ๋ทฐ์ ๋ ์ด์์์ ๋ณํ๊ฐ ์๊ธฐ๋ฉด ๋ทฐ ์ปจํธ๋กค๋ฌ๋ ์ฌ๋ฌ๊ฐ์ง ๋ฉ์๋๋ฅผ ํธ์ถํด ์๋ธ ํด๋์ค๊ฐ ์ ์ ํ ๋์์ ํ ์ ์๊ฒ ํ๋ค. ๋ทฐ์ ์ํ๋ณํ ๋ฉ์๋ ๋ทฐ๊ฐ ๋ํ๋๊ฑฐ๋ ์ฌ๋ผ์ง๋ ๋ฑ ๋ทฐ๊ฐ ํ๋ฉด์ ๋ณด์ด๋ ์ํ๊ฐ ๋ณํํ ๋ ํธ์ถ๋๋ ๋ฉ์๋ func viewDidLoad() ๋ทฐ ๊ณ์ธต์ด ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋๋ ์งํ ํธ์ถ๋๋ ๋ฉ์๋ ๋ทฐ์ ์ถ๊ฐ์ ์ธ ์ด๊ธฐํ ์์ ์ ํ๊ธฐ ์ข์ ์์ ๋ฉ๋ชจ๋ฆฌ์ ์ฒ์ ๋ก๋ฉ๋ ๋ 1ํ ํธ์ถ๋๋ ๋ฉ์๋๋ก, ๋ฉ๋ชจ๋ฆฌ ๊ฒฝ๊ณ ๋ก ๋ทฐ๊ฐ ์ฌ๋ผ์ง์ง ์๋ ์ด์ ๋ค์ ํธ์ถ๋์ง ์๋๋ค. func viewWillAppear(_ animated: Bool) ๋ทฐ๊ฐ ๋ทฐ ๊ณ์ธต์ ์ถ๊ฐ๋๊ณ ํ๋ฉด์ด ํ์๋๊ธฐ ์ง์ ์ ํธ์ถ๋๋ ๋ฉ์๋ ๋ทฐ์ ์ถ๊ฐ์ ์ธ ์ด๊ธฐํ ์์ ์ ํ๊ธฐ ์ข์ ์์ ๋ค๋ฅธ ๋ทฐ๋ก ์ด๋ํ๋ค๊ฐ ๋๋์์ค๋ฉด ์ฌํธ์ถ๋..