๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
SeSAC

[iOS] TIL_230810

by lizzydev 2023. 8. 14.

1. Activity Indicator

๋ฐ‘์— ๊ฐ€์šด๋ฐ์— ๋„ฃ์œผ๋ ค๋ฉด ์…€์— ๋“ค์–ด๊ฐ€๋Š” ๋“ฑ ์ด์ƒํ•˜๊ฒŒ ๋“ค์–ด๊ฐˆ ๊ฒƒ

์ผ๋‹จ ๊ฒ€์ƒ‰๋ฐ” ์ชฝ์— ๋„ฃ์Œ

์ธ์ŠคํŽ™ํ„ฐ๋กœ ์ ๋‹นํžˆ ์œ„์น˜ ์กฐ์ • ํ›„ center๋กœ align

indicator ์ฒ˜๋ฆฌ

  • hidden (viewDidLoad)
  • show (ํ†ต์‹ ์‹œ์ž‘/ ex. ๊ฒ€์ƒ‰. ๋ฐ์ดํ„ฐโ€ฆ)
  • hidden(ํ†ต์‹ ๋, ๋ทฐ ๊ฐฑ์‹ )

๋‚ ์งœ ์˜ˆ์™ธ์ฒ˜๋ฆฌ

  1. 8๊ธ€์ž (20220101)
  2. ์˜ฌ๋ฐ”๋ฅธ ๋‚ ์งœ (20233333)
  3. ๋‚ ์งœ ๋ฒ”์ฃผ

ํ™”๋ฉด ์ฒ˜์Œ ์‹œ์ž‘ํ•  ๋•Œ๋Š” ์ธ๋””์ผ€์ดํ„ฐ ์ˆจ๊ธฐ๊ธฐ

๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ์ธ๋””์ผ€์ดํ„ฐ ๋ณด์ด๊ณ  ๋Œ์•„๊ฐ€๊ฒŒ ํ•˜๊ธฐ

2. HTTP POST

POST์‹œ ํ•„์š”ํ•œ ๊ฒƒ

  • url
  • method
  • key header
  • text.๋ชฉ์  ์›๋ณธ

์š”์ฒญ์„ ์œ„ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ ๋„ฃ๊ธฐ

POST ์„ฑ๊ณต

Text Attatchment

ํ…์ŠคํŠธ๋ทฐ์— ์ด๋ฏธ์ง€ ๋„ฃ์„์ˆ˜ ์žˆ์Œ

์ผ๊ธ‰ ๊ฐ์ฒด

๋ณ€์ˆ˜/์ƒ์ˆ˜๋‚˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋‚ด์— ์ž๋ฃŒํ˜•์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค

ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜๊ฐ’์œผ๋กœ ์ž๋ฃŒํ˜•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค

ํ•จ์ˆ˜์˜ ์ธ์ž๊ฐ’์œผ๋กœ ์ž๋ฃŒํ˜•์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค

Function Type

ํ•จ์ˆ˜๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํƒ€์ž…. ํ•จ์ˆ˜ ํ˜ธ์ถœ ์—ฐ์‚ฐ์ž ์—†์Œ

() -> () : ๋งค๊ฐœ๋ณ€์ˆ˜ X ๋ฐ˜ํ™˜๊ฐ’ X

func welcome() {     print("์•ˆ๋…•ํ•˜์„ธ์š” ๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค") } 

(String) -> () : ๋งค๊ฐœ๋ณ€์ˆ˜ O ๋ฐ˜ํ™˜๊ฐ’ X

func welcome(name:String) {     print("์•ˆ๋…•ํ•˜์„ธ์š” \(name)๋‹˜, ๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค") } 

(String) -> (String) : ๋งค๊ฐœ๋ณ€์ˆ˜ O ๋ฐ˜ํ™˜๊ฐ’ O

func welcome(name:String) -> String {     return "์•ˆ๋…•ํ•˜์„ธ์š” \(name)๋‹˜, ๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค" } 

() -> (String) : ๋งค๊ฐœ๋ณ€์ˆ˜ X ๋ฐ˜ํ™˜๊ฐ’ O

func welcome() -> String {     return "์•ˆ๋…•ํ•˜์„ธ์š” ๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค" } 

  • ๋ณ€์ˆ˜๋‚˜ ์ƒ์ˆ˜์— ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•ด์„œ ๋ฐ˜ํ™˜๋œ ๋ฐ˜ํ™˜๊ฐ’์„ ๋Œ€์ž… ํ•œ ๊ฒƒ (1๊ธ‰ ๊ฐ์ฒด์˜ ํŠน์„ฑ์€ ์•„๋‹˜)

  • ๋ณ€์ˆ˜๋‚˜ ์ƒ์ˆ˜์— ํ•จ์ˆ˜ ๊ทธ '์ž์ฒด'๋ฅผ ๋Œ€์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค (1๊ธ‰ ๊ฐ์ฒด์˜ ํŠน์„ฑ)
  • ํ•จ์ˆ˜๋งŒ ๋Œ€์ž…ํ•œ ๊ฒƒ์œผ๋กœ, ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋œ ์ƒํƒœ๋Š” ์•„๋‹˜

  • Type annotation์œผ๋กœ ๋ช…์‹œ ๊ฐ€๋Šฅ
  • (String)โ†’ Bool : Function Type(ex. Tuple)

  • ํ•ด๋‹น ๋ณ€์ˆ˜๋Š” ํ•จ์ˆ˜๊ฐ€ ๋˜์–ด ํ˜ธ์ถœ์‹œ ์‹คํ–‰ ๊ฐ€๋Šฅ

Tuple

Ambiguous

ํ•จ์ˆ˜ ์ด๋ฆ„๊ณผ ๋ฆฌํ„ดํƒ€์ž… ๊ฐ™๊ณ  ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐœ์ˆ˜๋Š” ๋‹ค๋ฅผ ๋•Œ

โ†’ Type Annotation์œผ๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐœ์ˆ˜๊ฐ€ ํ‘œํ˜„ ๋˜์–ด์„œ ambiguousํ•ด๊ฒฐ

ํ•จ์ˆ˜ ์ด๋ฆ„๊ณผ ๋ฆฌํ„ดํƒ€์ž… ๊ฐ™๊ณ  ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐœ์ˆ˜๋„ ๊ฐ™์„ ๋•Œ ( ๋งค๊ฐœ๋ณ€์ˆ˜๋ช… ๋‹ค๋ฆ„)

  1. ๋งค๊ฐœ๋ณ€์ˆ˜์ด๋ฆ„๋งŒ ๋‹ค๋ฅธ ๊ฐ™์€ ํ•จ์ˆ˜ํƒ€์ž… ๊ฐ€์ง„ hello ์ถ”๊ฐ€

  1. ๋˜ ๋‹ค์‹œ ambiguous

๋งค๊ฐœ๋ณ€์ˆ˜ ํ‘œ์‹œํ•ด์ค˜์„œ ๊ฐ€๋Šฅํƒ€์ž… ์–ด๋…ธํ…Œ์ด์…˜ ์—†์–ด๋„ ๊ฐ€๋Šฅ

2. ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜ ํƒ€์ž…์œผ๋กœ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

  1. ๋‘๊ฐ€์ง€ ํ•จ์ˆ˜ ์ค€๋น„
func currentAccout() -> String { // () -> String
    return "๊ณ„์ขŒ ์žˆ๋‹ค๋Š” ์–ผ๋Ÿฟ ๋„์šฐ๊ธฐ"
}
func noCurrentAccount() -> String { // () -> String
    return "๊ณ„์ขŒ ์—†์œผ๋‹ˆ ๊ณ„์ขŒ ์ƒ์„ฑํ™”๋ฉด์œผ๋กœ ์ด๋™"
}
  1. ๊ธฐ์กด ๋ฐฉ์‹์˜ ํ•จ์ˆ˜
func checkBankInformation(bank: String) -> Bool {
    let bankArray = ["์šฐ๋ฆฌ","์‹ ํ•œ","๊ตญ๋ฏผ"]
    return bankArray.contains(bank) ? true : false
    
}
  1. ๊ธฐ์กดํ•จ์ˆ˜๋ฅผ ์ˆ˜์ •ํ•œ ํ•จ์ˆ˜ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜
//๊ฐ€์žฅ ์™ผ์ชฝ์— ์œ„์น˜ํ•œ -> ๋ฅผ ๊ธฐ์ค€์œผ๋กœ, ์˜ค๋ฅธ์ชฝ์— ๋†“์ธ ๋ชจ๋“  ํƒ€์ž…์€ ๋ฐ˜ํ™˜๊ฐ’์„ ์˜๋ฏธํ•œ๋‹ค.
func checkBank(bank: String) -> () -> String {
    let bankArray = ["์šฐ๋ฆฌ","์‹ ํ•œ","๊ตญ๋ฏผ"]
    return bankArray.contains(bank) ? currentAccout : noCurrentAccount
}
  1. ๋ฆฌํ„ด๋œ ํ•จ์ˆ˜๋ฅผ ๋ณ€์ˆ˜์— ๋Œ€์ž…ํ•˜๋ฉด ๊ทธ ๋ณ€์ˆ˜๋Š” ํ•จ์ˆ˜๊ฐ€ ๋จ.
let jack = checkBank(bank: "์‹ ํ•œ") 

jack์—๋Š” ์ด์ œ currentAccount ํ•จ์ˆ˜ or noCurrentAccount์ค‘ ํ•˜๋‚˜๊ฐ€ ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋“ค์–ด๊ฐ€๊ฒŒ ๋จ.

โ†’ ์—ฌ๋Ÿฌ ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉ๊ฐ€๋Šฅ

๋”ํ•˜๊ธฐ,๋นผ๊ธฐ,๋‚˜๋ˆ„๊ธฐ,๊ณฑํ•˜๊ธฐ ํ•จ์ˆ˜๋“ค์„ ๊ณ„์‚ฐ ํ•จ์ˆ˜์˜ ์ธ์ž๋กœ ๋„ฃ์–ด ์‚ฌ์šฉ ๊ฐ€๋Šฅ

3. ํ•จ์ˆ˜์˜ ์ธ์ž๊ฐ’์œผ๋กœ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์œ„์™€ ๊ฐ™์ด ํ•จ์ˆ˜๋ฅผ ์ธ์ž๋กœ ๋„ฃ์–ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.

  • but ํƒ€์ž…๋งŒ ๋งž์œผ๋ฉด ์•„๋ฌด ํ•จ์ˆ˜๋‚˜ ๋“ค์–ด๊ฐ€๊ฒŒ๋จ. โ†’ ๊ด€๋ จ์—†๋Š” ์ด์ƒํ•œ ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ ๋  ์œ„ํ—˜์ด ์žˆ์Œ.

๊ทธ๋ƒฅ ์ด๋ฆ„์—†๋Š” ํ•จ์ˆ˜๋กœ ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜์–ด์žˆ๋Š” ํ•จ์ˆ˜๋ฅผ ๋ฐ”๋กœ ๋„ฃ์–ด์ค˜ ๋ฒ„๋ ค๋„ ๋จ

 

'SeSAC' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[iOS] TIL_20230811  (0) 2023.08.15
[iOS] TIL_230809  (0) 2023.08.10
[iOS] TIL_230808  (0) 2023.08.09
[iOS] TIL_230807  (0) 2023.08.09
[iOS] TIL_230804  (0) 2023.08.06