c o d i n g . . ๐Ÿ‰/ios

[์ธํ”„๋Ÿฐ] ์•„์ดํฐ ์•ฑ ๊ฐœ๋ฐœ(4)

H J 2022. 6. 22. 03:16

์ด๋ฒˆ์—” ํ”„๋ ˆ์ž„์›Œํฌ + ๋กœ๊ทธ ๋‚จ๊ธฐ๋Š” ๋ฒ• + ์•ฑ ๋ฐฐํฌ ๋ฒ„์ „ ๊ด€๋ จ ๋‚ด์šฉ + ์†์ „๋“ฑ ์•ฑ ๋งŒ๋“ค๊ธฐ !

(๋‚˜๋Š” ํŒŒ์ผ ๋‹ค์šด์ด ์•ˆ ๋ผ์„œ ์‹ค์ œ๋กœ ๋งŒ๋“ค์–ด๋ณด์ง„ ์•Š๊ณ  ๊ฐœ๋…๋งŒ ์ •๋ฆฌํ–ˆ๋‹ค)


ํ”„๋ ˆ์ž„์›Œํฌ

๋น„์Šทํ•œ ๊ฒƒ๋ผ๋ฆฌ ๋ฌถ์–ด๋†“์€ ํด๋ž˜์Šค๋ฅผ ๋˜! ๋น„์Šทํ•œ ๊ฒƒ๋ผ๋ฆฌ ๋ฌถ์–ด๋†“์€ ๊ฒƒ

import UIKit // ํ”„๋ ˆ์ž„์›Œํฌ ์ž„ํฌํŠธ

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }

}

ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋ฌถ์€ ๋” ํฐ ํ”„๋ ˆ์ž„์›Œํฌ๋„ ์กด์žฌ → ํด๋ž˜์Šค + ๋ฆฌ์†Œ์Šค + ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ + ๋ฌธ์„œ ๋“ฑ..

ios ์šด์˜์ฒด์ œ: ์šด์˜์ฒด์ œ ์•ˆ์— ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ž˜ ๊ตฌ์กฐํ™” ( ๋” ํฐ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๋ชจ์—ฌ์žˆ๋Š” )

    • cocoa touch → UI ๊ด€๋ จ ๊ณ„์ธต
    • media
    • core service → UI์™€ ์ง์ ‘์  ๊ด€๋ จ์€ ์—†๊ณ  core os, ์ปค๋„์— ๊ด€๋ จ
    • core os, kernel → low level ๊ณ„์ธต

ios๋Š” ์šด์˜์ฒด์ œ์˜ ๊ตฌ์กฐํ™”๋œ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ†ตํ•ด ํ•˜๋“œ์›จ์–ด ์ œ์–ด → ๊ทธ ํ”„๋ ˆ์ž„์›Œํฌ ์•ˆ์—๋Š” ๋น„์Šทํ•œ ๋ฒ”์ฃผ์˜ ํด๋ž˜์Šค ์กด์žฌ → ๊ทธ ํด๋ž˜์Šค ์•ˆ์—๋Š” ์—ฐ๊ด€๋œ ์†์„ฑ, ๊ธฐ๋Šฅ์„ ๊ฐ–๋Š” ๋ฉ”์†Œ๋“œ ์กด์žฌ

 

  • ์ ‘๊ทผ ์ œ์–ด
    • private: ๋…ธ์ถœ X
    • fileprivate: ๊ฐ™์€ ํŒŒ์ผ์—์„œ๋Š” ๋…ธ์ถœ๋จ (์ƒ์†, ์ ‘๊ทผ X)
    • internal: ๊ธฐ๋ณธ ์„ค์ • (๋ชจ๋“ˆ ๋‚ด๋ถ€์—์„œ๋Š” ์ƒ์†, ์žฌ์ •์˜ ๊ฐ€๋Šฅ)
    • public: (๋ชจ๋“ˆ ๋‚ด๋ถ€, ์™ธ๋ถ€ ์ ‘๊ทผ ๊ฐ€๋Šฅ, ๋ชจ๋“ˆ ๋‚ด๋ถ€์—์„œ๋งŒ ์ƒ์†, ์žฌ์ •์˜ ๊ฐ€๋Šฅ)
    • open: (๋ชจ๋“ˆ ๋‚ด๋ถ€, ์™ธ๋ถ€ ์ ‘๊ทผ ๊ฐ€๋Šฅ + ์ƒ์†, ์žฌ์ •์˜ ๊ฐ€๋Šฅ)

 

 


NSLog

NSLog("download")

print๋Š” ์•ฑ์ด ๋ฐฐํฌ๋์„ ๋•Œ ํ™•์ธ์„ ํ•  ์ˆ˜ ์—†์–ด NSLog๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋กœ๊ทธ๋ฅผ ์ฐ์„ ์ˆ˜ ์žˆ์Œ

ํ•˜์ง€๋งŒ ์†๋„๊ฐ€ ๋งค์šฐ ๋Š๋ฆผ

 

ํ†ตํ•ฉ๋œ logger

import os.log

os_log("download)

์˜ต์ €๋ฒ„ ์ดํŽ™ํŠธ ์ตœ์†Œํ™” + ๋น ๋ฆ„

๋‹ค์–‘ํ•œ ํ•จ์ˆ˜๋“ค์ด ์žˆ์Œ


์•ฑ ๋ฐฐํฌ ๋ฒ„์ „

๋ฐฐํฌ ๋ฒ„์ „ ๋‚ฎ

→ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์„œ๋น„์Šค ๊ฐ€๋Šฅ

→ but ! API ์‚ฌ์šฉ ์ œํ•œ, ๊ฐ€๋…์„ฑ, ์œ ์ง€๋ณด์ˆ˜, ๊ฐœ๋ฐœ ์‹œ๊ฐ„์— ์˜ํ–ฅ

ios marker share ํ™•์ธํ•ด์„œ ๊ฒฐ์ •

API

Application Programming Interface

interface: ์‚ฌ๋žŒ๊ณผ ์ปดํ“จํ„ฐ/์•ฑ ๊ฐ„์—” ์˜์‚ฌ์†Œํ†ต์„ ํ•˜๊ธฐ ์œ„ํ•œ ๋งค๊ฐœ์ฒด

→ API๋ฅผ ํ†ตํ•ด ํ”„๋ ˆ์ž„์›Œํฌ ํด๋ž˜์Šค์— ์ ‘๊ทผํ•ด์„œ ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์ด์šฉํ•ด ์•ฑ์„ ์ œ์ž‘


์ด๋ฒˆ์—” ๋‚ด์šฉ์ด ์—„์ฒญ ์ ๋„ค.. ๊ทธ์น˜๋งŒ ๊ฐ•์˜ ์‹œ๊ฐ„์€ ๊ธธ์—ˆ๋Š”๊ฑธ..?

 

์†์ „๋“ฑ ์•ฑ ๋งŒ๋“ค๊ธฐ ๋ถ€๋ถ„์€ ๋…ธ์…˜์— ์ •๋ฆฌํ•ด๋‘์—ˆ๋‹ค!

๋ฒŒ์จ ๊ฐ•์˜ ๋..!

์ด์ œ ๊ฐ„๋‹จํ•œ ๊ฑฐ ๋งŒ๋“ค๋ฉด์„œ ๋…ํ•™ ์‹œ์ž‘ํ•ด์•ผ๊ฒ ๋‹น