๐ฑ iOS
-
์ค์ํํธ์์ ํจ์์ ์ข ๋ฅ ์ค์ํํธ์์ ํจ์๋ ํฌ๊ฒ ๋๊ฐ์ง๋ก ๋๋๋ค. ์ธ์คํด์ค ๋ฉ์๋์ ํ์ ๋ฉ์๋์ด๋ค. ๊ทธ๋ฆฌ๊ณ ํ์ ๋ฉ์๋๋ ๋ค์ static method, class method๋ก ๋๋๋ค. Instance Method Type Method Static Method Class Method class ExampleClass{ func instanceMethod(){} // ์ธ์คํด์ค ๋ฉ์๋ class func classMethod(){} // ํด๋์ค ๋ฉ์๋ (ํ์ ๋ฉ์๋) static func staticMethod(){} // ์คํํฑ ๋ฉ์๋ (ํ์ ๋ฉ์๋) } ๋ชจ์์ ๋ณด๋ ๋ณ๋ค๋ฅธ ํค์๋ ์์ด ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๋๊ฒ์ ์ธ์คํด์ค ๋ฉ์๋๋ผ๊ณ ํ๋ค. ๊ทธ๋ฆฌ๊ณ class ๋๋ static ํค์๋๋ฅผ ํตํด ์ ์๋ ํจ์๋ฅผ ..
(Swift) ์ธ์คํด์ค ๋ฉ์๋ , ํ์ ๋ฉ์๋ (instance method, type method)์ค์ํํธ์์ ํจ์์ ์ข ๋ฅ ์ค์ํํธ์์ ํจ์๋ ํฌ๊ฒ ๋๊ฐ์ง๋ก ๋๋๋ค. ์ธ์คํด์ค ๋ฉ์๋์ ํ์ ๋ฉ์๋์ด๋ค. ๊ทธ๋ฆฌ๊ณ ํ์ ๋ฉ์๋๋ ๋ค์ static method, class method๋ก ๋๋๋ค. Instance Method Type Method Static Method Class Method class ExampleClass{ func instanceMethod(){} // ์ธ์คํด์ค ๋ฉ์๋ class func classMethod(){} // ํด๋์ค ๋ฉ์๋ (ํ์ ๋ฉ์๋) static func staticMethod(){} // ์คํํฑ ๋ฉ์๋ (ํ์ ๋ฉ์๋) } ๋ชจ์์ ๋ณด๋ ๋ณ๋ค๋ฅธ ํค์๋ ์์ด ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๋๊ฒ์ ์ธ์คํด์ค ๋ฉ์๋๋ผ๊ณ ํ๋ค. ๊ทธ๋ฆฌ๊ณ class ๋๋ static ํค์๋๋ฅผ ํตํด ์ ์๋ ํจ์๋ฅผ ..
2022.03.08 -
์ ๊ทผ ์ ์ด์๋? ์ฝ๋๋ผ๋ฆฌ ์ํธ์์ฉ์ ํ ๋ ์์คํ์ผ ๊ฐ, ๋ชจ๋ ๊ฐ ์ ๊ทผ์ ์ ํํ ์ ์๋ ๊ธฐ๋ฅ์ด๋ค. ์ด๋ฅผ ํตํด ํน์ ์ฝ๋์ ์ธ๋ถ์ ์ธ ๊ตฌํ์ ์จ๊ธฐ๊ณ , ํ์ฉ๋ ๊ธฐ๋ฅ๋ง ์ฌ์ฉํ๋ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ ์ ์๋ค. ๐ฏ ๋ชจ๋: ๋ฐฐํฌํ ์ฝ๋์ ๋ฌถ์ ๋จ์ (ex: ํ๋์ ํ๋ ์์ํฌ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ ํ๋ฆฌ์ผ์ด์ ) , ์ฝ๊ฒ๋งํ๋ฉด `import` ๋ฅผ ํตํด ๋ถ๋ฌ์ค๋๊ฒ๋ค ๐ฏ ์์คํ์ผ: Swift ์ฝ๋ ํ์ผ ํ๊ฐ๋ฅผ ์๋ฏธํ๋ค. ๋ณดํต ํ์ผ ํ๋์ ํ๋์ ํ์ ๋ง ์ ์ํ์ง๋ง, ์ฌ๋ฌ๊ฐ๋ฅผ ์ ์ํ๋ ๊ฒฝ์ฐ๋ ์๋ค. ๊ทธ๋ผ ์ ํ์ผ ๊ฐ, ๋ชจ๋ ๊ฐ ์ ๊ทผ์ ์ ํํ๋? OOP ํจ๋ฌ๋ค์์ โ์๋ํ"์ ๊ด๋ จ์ด ๊น๋ค. ์ธ๋ถ์์ ๋ณด๊ฑฐ๋ ์ ๊ทผํ๋ฉด ์๋๋ ์ฝ๋๋ฅผ ๋ง๊ธฐ ์ํจ์ด๋ค. ๐ฏ ์๋ํ: ๊ฐ์ฒด ์ธ๋ถ์์ ๊ฐ์ฒด ๋ด์ ์๋ฃ๋ก์ ์ ๊ทผ์ ์ ํํ๊ณ , ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฑฐ๋ ์กฐ์ํ..
(Swift) ์ ๊ทผ ์ ์ด์ (Access Control, Access Level)์ ๊ทผ ์ ์ด์๋? ์ฝ๋๋ผ๋ฆฌ ์ํธ์์ฉ์ ํ ๋ ์์คํ์ผ ๊ฐ, ๋ชจ๋ ๊ฐ ์ ๊ทผ์ ์ ํํ ์ ์๋ ๊ธฐ๋ฅ์ด๋ค. ์ด๋ฅผ ํตํด ํน์ ์ฝ๋์ ์ธ๋ถ์ ์ธ ๊ตฌํ์ ์จ๊ธฐ๊ณ , ํ์ฉ๋ ๊ธฐ๋ฅ๋ง ์ฌ์ฉํ๋ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ ์ ์๋ค. ๐ฏ ๋ชจ๋: ๋ฐฐํฌํ ์ฝ๋์ ๋ฌถ์ ๋จ์ (ex: ํ๋์ ํ๋ ์์ํฌ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ ํ๋ฆฌ์ผ์ด์ ) , ์ฝ๊ฒ๋งํ๋ฉด `import` ๋ฅผ ํตํด ๋ถ๋ฌ์ค๋๊ฒ๋ค ๐ฏ ์์คํ์ผ: Swift ์ฝ๋ ํ์ผ ํ๊ฐ๋ฅผ ์๋ฏธํ๋ค. ๋ณดํต ํ์ผ ํ๋์ ํ๋์ ํ์ ๋ง ์ ์ํ์ง๋ง, ์ฌ๋ฌ๊ฐ๋ฅผ ์ ์ํ๋ ๊ฒฝ์ฐ๋ ์๋ค. ๊ทธ๋ผ ์ ํ์ผ ๊ฐ, ๋ชจ๋ ๊ฐ ์ ๊ทผ์ ์ ํํ๋? OOP ํจ๋ฌ๋ค์์ โ์๋ํ"์ ๊ด๋ จ์ด ๊น๋ค. ์ธ๋ถ์์ ๋ณด๊ฑฐ๋ ์ ๊ทผํ๋ฉด ์๋๋ ์ฝ๋๋ฅผ ๋ง๊ธฐ ์ํจ์ด๋ค. ๐ฏ ์๋ํ: ๊ฐ์ฒด ์ธ๋ถ์์ ๊ฐ์ฒด ๋ด์ ์๋ฃ๋ก์ ์ ๊ทผ์ ์ ํํ๊ณ , ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฑฐ๋ ์กฐ์ํ..
2022.03.05 -
๊ณตํต์ Bounds, Frame ๋ชจ๋ View์ ์์น์ ํฌ๊ธฐ๋ฅผ ๋ํ๋ด๋ UIView์ instance property์ธ CGRect ํ์ ์ด๋ผ๋ ์ ์ด ๊ณตํต์ ์ด๋ค. var frame: CGRect {get set} var bounds: CGRect {get set} // Frame property ์ ๊ทผ view.frame.origin.x view.frame.origin.y view.frame.size.width view.frame.size.height view.bounds.origin.x view.bounds.origin.y view.bounds.size.width view.bounds.size.height Frame (Instance Property) (๋ถ๋ฅ: UIKit > Views and Control..
(iOS) - UIKit์ Frame, Bounds ์ ์ฐจ์ด์ ๊ณตํต์ Bounds, Frame ๋ชจ๋ View์ ์์น์ ํฌ๊ธฐ๋ฅผ ๋ํ๋ด๋ UIView์ instance property์ธ CGRect ํ์ ์ด๋ผ๋ ์ ์ด ๊ณตํต์ ์ด๋ค. var frame: CGRect {get set} var bounds: CGRect {get set} // Frame property ์ ๊ทผ view.frame.origin.x view.frame.origin.y view.frame.size.width view.frame.size.height view.bounds.origin.x view.bounds.origin.y view.bounds.size.width view.bounds.size.height Frame (Instance Property) (๋ถ๋ฅ: UIKit > Views and Control..
2022.02.22 -
๊ตฌ์กฐ์ฒด ํด๋์ค ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ฉ๋์ ๋ง๊ฒ ๋ฌถ์ด ํํํ๊ณ ์ ํ ๋ ์ ์ฉํ๋ค. ํ๋์ ์ฌ์ฉ์ ์ ์ ๋ฐ์ดํฐ ํ์ ์ ๋ง๋ค์ด์ฃผ๋๊ฒ์ด๋ค. #Class, Struct ๊ณตํต์ ๊ฐ์ ์ ์ฅํ ํ๋กํผํฐ๋ฅผ ์ ์ธํ ์ ์๋ค. ๋ฉ์๋๋ฅผ ์ ์ธํ ์ ์๋ค. ๋ด๋ถ ํ๋กํผํฐ์ .๋ฅผ ์ฌ์ฉํ์ฌ ์ ๊ทผํ ์ ์๋ค. ์์ฑ์(init)๋ฅผ ์ฌ์ฉํด ์ด๊ธฐ ์ํ๋ฅผ ์ค์ ํ ์ ์๋ค. extension์ ์ฌ์ฉํ์ฌ ๊ธฐ๋ฅ์ ํ์ฅํ ์ ์๋ค. Protocol์ ์ฑํํ์ฌ ๊ธฐ๋ฅ์ ์ค์ ํ ์ ์๋ค. #Class์ ํน์ง Reference Type ARC๋ก ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ํ๋ค. ๊ฐ์ ํด๋์ค ์ธ์คํด์ค๋ฅผ ๋ง๋ค๊ณ ๊ฐ์ ๋ณ๊ฒฝํ๋ฉด ๋ชจ๋ ๋ณ์์ ์ํฅ์์ค๋ค. (์ฐธ์กฐํ์ ์ด๋๊น;) ์์์ด ๊ฐ๋ฅํ๋ค. ํ์ ์บ์คํ ์ ํตํด ๋ฐํ์์์ ํด๋์ค ์ธ์คํด์ค์ ํ์ ์ ํ์ธํ ์ ์๋ค. ์ธ์คํด์ค๊ฐ ์๋ฉธ..
(Swift) Class ์ Struct ์ ์ฐจ์ด , ์ฉ๋์ ์ ํ ๋ฐฉ๋ฒ๊ตฌ์กฐ์ฒด ํด๋์ค ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ฉ๋์ ๋ง๊ฒ ๋ฌถ์ด ํํํ๊ณ ์ ํ ๋ ์ ์ฉํ๋ค. ํ๋์ ์ฌ์ฉ์ ์ ์ ๋ฐ์ดํฐ ํ์ ์ ๋ง๋ค์ด์ฃผ๋๊ฒ์ด๋ค. #Class, Struct ๊ณตํต์ ๊ฐ์ ์ ์ฅํ ํ๋กํผํฐ๋ฅผ ์ ์ธํ ์ ์๋ค. ๋ฉ์๋๋ฅผ ์ ์ธํ ์ ์๋ค. ๋ด๋ถ ํ๋กํผํฐ์ .๋ฅผ ์ฌ์ฉํ์ฌ ์ ๊ทผํ ์ ์๋ค. ์์ฑ์(init)๋ฅผ ์ฌ์ฉํด ์ด๊ธฐ ์ํ๋ฅผ ์ค์ ํ ์ ์๋ค. extension์ ์ฌ์ฉํ์ฌ ๊ธฐ๋ฅ์ ํ์ฅํ ์ ์๋ค. Protocol์ ์ฑํํ์ฌ ๊ธฐ๋ฅ์ ์ค์ ํ ์ ์๋ค. #Class์ ํน์ง Reference Type ARC๋ก ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ํ๋ค. ๊ฐ์ ํด๋์ค ์ธ์คํด์ค๋ฅผ ๋ง๋ค๊ณ ๊ฐ์ ๋ณ๊ฒฝํ๋ฉด ๋ชจ๋ ๋ณ์์ ์ํฅ์์ค๋ค. (์ฐธ์กฐํ์ ์ด๋๊น;) ์์์ด ๊ฐ๋ฅํ๋ค. ํ์ ์บ์คํ ์ ํตํด ๋ฐํ์์์ ํด๋์ค ์ธ์คํด์ค์ ํ์ ์ ํ์ธํ ์ ์๋ค. ์ธ์คํด์ค๊ฐ ์๋ฉธ..
2022.02.04 -
#AppProject Target ๋น๋ํ ํ๋ก์ ํธ๋ฅผ ์ง์ ํ๊ณ , ๋น๋ํ์ฌ ์์ฑ๋ ์ต์ข ํ๋ก๋ํธ ex) ํ๊ตญ์ฉ, ์ค๊ตญ์ฉ, ๊ด๊ณ ์๋ ๋ฒ์ ผ, ์๋๋ฒ์ ผ...... ์ด๋ฐ์์ผ๋ก ๋น๋ํ ํ๋ก์ ํธ๋ฅผ ๋๋๋ ๊ฐ๋ Identity Bundle Identifier: ์ฑ์คํ ์ด์์ ์ฌ์ฉํ identifier (์ ์ผํ ๊ฐ์ด์ดํจ) Build: ๋น๋ ๋ฒํธ Deployment Info ์ฑ ๋ฐฐํฌ์ ํ์ํ ์ ๋ณด๋ค Target: iOS ์ต์๋ฒ์ ๊ณผ ๋๋ฐ์ด์ค ์ค์ (iPad, Mac, iPhone) Main Interface: ์ฑ ์คํํ ์ฒ์ ๋์ค๋ StoryBoard๋ฅผ ์ง์ . Device Orientation: ๊ธฐ๊ธฐ ํ์ ๊ฐ๋ฅ ์ฌ๋ถ๋ฅผ ์ค์ ํ๋ค. Status Bar Style: ์ฑ ์คํ์ ๋ณด์ฌ์ง๋ Status Bar์ ์คํ์ผ ์ค์ App Ic..
(iOS) - info.plist & appProject ( .xcodeproj )#AppProject Target ๋น๋ํ ํ๋ก์ ํธ๋ฅผ ์ง์ ํ๊ณ , ๋น๋ํ์ฌ ์์ฑ๋ ์ต์ข ํ๋ก๋ํธ ex) ํ๊ตญ์ฉ, ์ค๊ตญ์ฉ, ๊ด๊ณ ์๋ ๋ฒ์ ผ, ์๋๋ฒ์ ผ...... ์ด๋ฐ์์ผ๋ก ๋น๋ํ ํ๋ก์ ํธ๋ฅผ ๋๋๋ ๊ฐ๋ Identity Bundle Identifier: ์ฑ์คํ ์ด์์ ์ฌ์ฉํ identifier (์ ์ผํ ๊ฐ์ด์ดํจ) Build: ๋น๋ ๋ฒํธ Deployment Info ์ฑ ๋ฐฐํฌ์ ํ์ํ ์ ๋ณด๋ค Target: iOS ์ต์๋ฒ์ ๊ณผ ๋๋ฐ์ด์ค ์ค์ (iPad, Mac, iPhone) Main Interface: ์ฑ ์คํํ ์ฒ์ ๋์ค๋ StoryBoard๋ฅผ ์ง์ . Device Orientation: ๊ธฐ๊ธฐ ํ์ ๊ฐ๋ฅ ์ฌ๋ถ๋ฅผ ์ค์ ํ๋ค. Status Bar Style: ์ฑ ์คํ์ ๋ณด์ฌ์ง๋ Status Bar์ ์คํ์ผ ์ค์ App Ic..
2021.09.09 -
AppProject์ Identify์ ํ๋กํผํฐ๋ฅผ ๋ณด๋ฉด Build์ Version์ด ์๋ค. Build์ Version์ ์ฐจ์ด๋ ? Version Version์ ์ฌ๋์ด ์ฝ๊ธฐ ์ํ ๋ฆด๋ฆฌ์ค๋ฒ์ ์ ๊ด๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค. ํ๋ก์ ํธ ์์ฑ ํ Version์ ๋ํดํธ๊ฐ์ 1.0์ด๋ค. ๋ณดํต Version์ 10.14.1๊ณผ ๊ฐ์ด 1~3๊ฐ์ ์ ์์ ๋ง์นจํ๋ฅผ ๊ตฌ๋ถ์๋ก ์ด๋ค.๊ฐ ์ ์๋ [Major].[Minor].[Patch] ํ์์ผ๋ก ๋น๋ ๋ฒ์ ์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ค. ์ฒซ๋ฒ์งธ ์๋ฆฌ์ 1์ ๋ฉ์ด์ ํ ์ ๋ฐ์ดํธ์ผ๋ ์ซ์๋ฅผ ์ฌ๋ฆฐ๋ค. ๋๋ฒ์งธ ์๋ฆฌ๋ ๊ธฐ๋ฅ ๋ฆฌ๋ด์ผ์ ๋์ ์ค๊ท๋ชจ ์ ๋ฐ์ดํธ๋ ์ซ์๋ฅผ ์ฌ๋ฆฐ๋ค. ์ธ๋ฒ์งธ ์๋ฆฌ๋ ์์ํ ๋๋ฒ๊น ๋ฐ ์ฝ๊ฐ์ ์์ ์ ์ ๋ฐ์ดํธํ ๋ ์ฌ๋ฆฐ๋ค. 3๊ฐ ์ด์์ ์ซ์๋ฅผ ์ฐ๋ฉด ์์คํ ์์ ์ด๋ฅผ ๋ฌด์ํ๋ค. ๋๊ฐ์ ์ ์๋ง..
(iOS) - Bundle : Build version์ Version์ ์ฐจ์ด์ ๊ฐ๋ AppProject์ Identify์ ํ๋กํผํฐ๋ฅผ ๋ณด๋ฉด Build์ Version์ด ์๋ค. Build์ Version์ ์ฐจ์ด๋ ? Version Version์ ์ฌ๋์ด ์ฝ๊ธฐ ์ํ ๋ฆด๋ฆฌ์ค๋ฒ์ ์ ๊ด๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค. ํ๋ก์ ํธ ์์ฑ ํ Version์ ๋ํดํธ๊ฐ์ 1.0์ด๋ค. ๋ณดํต Version์ 10.14.1๊ณผ ๊ฐ์ด 1~3๊ฐ์ ์ ์์ ๋ง์นจํ๋ฅผ ๊ตฌ๋ถ์๋ก ์ด๋ค.๊ฐ ์ ์๋ [Major].[Minor].[Patch] ํ์์ผ๋ก ๋น๋ ๋ฒ์ ์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ค. ์ฒซ๋ฒ์งธ ์๋ฆฌ์ 1์ ๋ฉ์ด์ ํ ์ ๋ฐ์ดํธ์ผ๋ ์ซ์๋ฅผ ์ฌ๋ฆฐ๋ค. ๋๋ฒ์งธ ์๋ฆฌ๋ ๊ธฐ๋ฅ ๋ฆฌ๋ด์ผ์ ๋์ ์ค๊ท๋ชจ ์ ๋ฐ์ดํธ๋ ์ซ์๋ฅผ ์ฌ๋ฆฐ๋ค. ์ธ๋ฒ์งธ ์๋ฆฌ๋ ์์ํ ๋๋ฒ๊น ๋ฐ ์ฝ๊ฐ์ ์์ ์ ์ ๋ฐ์ดํธํ ๋ ์ฌ๋ฆฐ๋ค. 3๊ฐ ์ด์์ ์ซ์๋ฅผ ์ฐ๋ฉด ์์คํ ์์ ์ด๋ฅผ ๋ฌด์ํ๋ค. ๋๊ฐ์ ์ ์๋ง..
2021.09.08