Extension Summaries - smartjack-wp/WPExtension-iOS GitHub Wiki

Short Long
E Enum
CI Convenience Initializer
SV Static Variable
CP Computed Property
IM Instance Method
SM Static Method

Int + Extension

[ CP ] commaInsertedPerThousandString: String

v1.0.0

์ˆซ์ž์˜ ์ฒœ์˜ ๋‹จ์œ„์— ๋งž์ถฐ์„œ ์ฝค๋งˆ๊ฐ€ ์‚ฝ์ž…๋œ ์ŠคํŠธ๋ง

[ Int , Float ์— ๊ตฌํ˜„๋จ ]

Float + Extension

[ IM ] commaInsertedPerThousandString(until: UInt) -> String

v1.0.0

์ˆซ์ž์˜ ์ฒœ์˜ ๋‹จ์œ„์— ๋งž์ถฐ์„œ ์ฝค๋งˆ๊ฐ€ ์‚ฝ์ž…๋œ ์ŠคํŠธ๋ง

  • Parameter decimalPointCount: ์†Œ์ˆ˜์  ์•„๋ž˜ ๋‚˜ํƒ€๋‚ด๊ณ  ์‹ถ์€ ์ž๋ฆฌ์ˆ˜
  • Returns: ์ฝค๋งˆ๊ฐ€ ์‚ฝ์ธ๋œ ์ŠคํŠธ๋ง

[ Int , Float ์— ๊ตฌํ˜„๋จ ]

์†Œ์ˆ˜์  ์•„๋ž˜์ž๋ฆฌ์˜ ๊ฒฝ์šฐ until ๋กœ ์ง€์ •ํ•œ ์ž๋ฆฌ์ˆ˜ ์ค‘์— ๋งˆ์ง€๋ง‰์ด 0 ์œผ๋กœ ๋๋‚˜๋Š” ์ˆ˜๋Š” 0์ด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ œ๊ฑฐ๋˜์–ด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋ณด์ด๋„๋ก ํ•˜์˜€๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ 1.0002 (until: 2) ์ธ ๊ฒฝ์šฐ 1.0 ์œผ๋กœ ๋ณ€๊ฒฝ๋œ๋‹ค.

๋งŒ์•ฝ ์ œ๋Œ€๋กœ ๊ฐ’์ด ๋„์ถœ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋Š” ๋นˆ ์ŠคํŠธ๋ง์ด ๋ฆฌํ„ด๋œ๋‹ค.

UIView + Extension

[ CP ] isVisible: String

v1.0.0

๋ทฐ๊ฐ€ ๋ณด์ด๋Š” ์ƒํƒœ์ธ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ property

isHidden์˜ ๋ฐ˜๋Œ€๊ฐ’์ด๋ฉฐ ์กฐ๊ธˆ ๋” ๋ช…์‹œ์ ์ธ ์ฝ”๋”ฉ์„ ์œ„ํ•ด์„œ ์‚ฌ์šฉ

[ IM ] show()

v1.0.0

๋ทฐ๋ฅผ ๋ณด์—ฌ์ง€๋Š” ์ƒํƒœ ( isHidden = false ) ๋กœ ๋งŒ๋“ ๋‹ค.

view.isHidden = false ๋Œ€์‹ ์— ์กฐ๊ธˆ ๋” ๋ช…์‹œ์ ์ด๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋„๋ก ํ•œ๋‹ค.

[ IM ] hide()

v1.0.0

๋ทฐ๋ฅผ ๊ฐ€๋ ค์ง€๋Š” ์ƒํƒœ ( isHidden = true ) ๋กœ ๋งŒ๋“ ๋‹ค.

view.isHidden = true ๋Œ€์‹ ์— ์กฐ๊ธˆ ๋” ๋ช…์‹œ์ ์ด๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋„๋ก ํ•œ๋‹ค.

[ IM ] addSubviews(_:UIView...)

v1.0.0

์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ทฐ๋ฅผ ์‰ฝ๊ฒŒ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“  ํ•จ์ˆ˜

  • Parameter views: ์ถ”๊ฐ€๋˜๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ทฐ

UITextField + Extension

[ IM ] setNeatKeyboard

v1.0.0

์ž๋™์™„์„ฑ, ์ฒซ๋ฒˆ์งธ ๋ฌธ์ž ๋Œ€๋ฌธ์ž ๋“ฑ๋“ฑ Keyboard์— ๋ง๋ถ™์—ฌ์ง€๋Š” ๊ธฐ๋Šฅ๋“ค์„ ์ œ์™ธํ•œ๋‹ค.

[ UITextField , UITextView ์— ๊ตฌํ˜„๋จ ]

UITextView + Extension

[ IM ] setNeatKeyboard

v1.0.0

์ž๋™์™„์„ฑ, ์ฒซ๋ฒˆ์งธ ๋ฌธ์ž ๋Œ€๋ฌธ์ž ๋“ฑ๋“ฑ Keyboard์— ๋ง๋ถ™์—ฌ์ง€๋Š” ๊ธฐ๋Šฅ๋“ค์„ ์ œ์™ธํ•œ๋‹ค.

[ UITextField , UITextView ์— ๊ตฌํ˜„๋จ ]

UIStackView + Extension

[ IM ] addArrangedSuviews(_: UIView...)

v1.0.0

์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ทฐ๋ฅผ ์Šคํƒ๋ทฐ์˜ arrangedSubview์— ์‰ฝ๊ฒŒ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“  ํ•จ์ˆ˜

  • Parameter views: ์ถ”๊ฐ€ํ•  ๋ทฐ๋“ค

[ IM ] hideAllArrnagedSubviews()

v1.0.0

์Šคํƒ๋ทฐ์˜ arrangedSubviews๋ฅผ ๊ฐ€๋ฆฐ๋‹ค.

[ IM ] removeAllArrangedSubviews()

v1.0.0

์Šคํƒ๋ทฐ์˜ arrangedSubviews๋ฅผ ์—†์•ค๋‹ค.

[ IM ] setContentInset(_: UIEdgesInsets)

v1.0.0

์Šคํƒ๋ทฐ ์ปจํ…์ธ ์˜ edges๋ฅผ ์กฐ์ ˆํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

  • Parameter edges: content edges

์ฃผ์˜ํ•  ์ ์€ edges๋ฅผ ์กฐ์ ˆํ•˜๊ณ  ๋ชจ๋“  arrangedSubview๋ฅผ ์ˆจ๊ธฐ๋Š” ๊ฒฝ์šฐ edges์˜ ํฌ๊ธฐ๋Š” ๊ทธ๋Œ€๋กœ ๋‚จ์•„์žˆ๋‹ค๋Š” ์ ์ด๋‹ค.

์˜ˆ๋ฅผ๋“ค์–ด vertical stackView ์—์„œ UIEdges(top: 0, left: 50, bottom: 10, right: 0) ๋ฅผ ์ง€์ •ํ•œ ๊ฒฝ์šฐ ๋‚ด๋ถ€์˜ ๋ชจ๋“  ๋ทฐ๋ฅผ ์ˆจ๊ธฐ๋”๋ผ๋„ ํ•˜๋‹จ์˜ 10๋งŒํผ์˜ inset ์€ ๊ทธ๋Œ€๋กœ ๋‚จ์•„์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

[ IM ] setBackgroundColor(_: UIColor)

v1.0.0

์Šคํƒ๋ทฐ์˜ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ปฌ๋Ÿฌ๋ฅผ ์ง€์ •ํ•œ๋‹ค.

  • Parameter color: ๋ฐฑ๊ทธ๋ผ์šด๋“œ์— ์ง€์ •ํ•  ์ปฌ๋Ÿฌ

iOS 14 ์ดํ›„์—์„œ๋Š” stackview์˜ ๋ ˆ์ด์–ด๊ฐ€ CATransformLayer์—์„œ CALayer ๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด์ „๊ณผ ๋‹ค๋ฅด๊ฒŒ ์ง์ ‘ backgroundColor๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋” ์ด์ƒ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์— ๋ทฐ๋ฅผ ์ฑ„์›Œ์„œ ๋„ฃ์ง€ ์•Š์•„๋„ ์ƒ๊ด€ ์—†์–ด์ง€๋ฏ€๋กœ ์ด๋Ÿฐ ๋ถ„๊ธฐ์ฒ˜๋ฆฌ๋ฅผ ํ•œ ๋ฉ”์†Œ๋“œ๋ฅผ ์ƒ์„ฑํ•จ

[ IM ] addBackgroundColorView(color: UIColor)

v1.0.0

iOS 14 ์ด์ „์—์„œ ์Šคํƒ๋ทฐ์˜ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ปฌ๋Ÿฌ๋ฅผ ์ง์ ‘ ์ง€์ •ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— View๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์ปฌ๋Ÿฌ๊ฐ€ ์ง€์ •๋œ ๊ฒƒ ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ํ•œ๋‹ค.

  • Parameter color: ๋ฐฑ๊ทธ๋ผ์šด๋“œ์— ์ง€์ •ํ•  ์ปฌ๋Ÿฌ
  • Returns: ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ปฌ๋Ÿฌ๊ฐ€ ์ง€์ •๋œ View

Summary ์˜ ๋ง์ฒ˜๋Ÿผ iOS 14 ์ „์—๋Š” stackView.backgroundColor ๊ฐ€ ์ ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ปฌ๋Ÿฌ๊ฐ€ ์„ค์ •๋œ ๊ฒƒ ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ backgroundcolor ๊ฐ€ ์ง€์ •๋œ ๋ทฐ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

์ถ”๊ฐ€๋กœ ์ž‘์—…์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ถ”๊ฐ€๋œ ๋ทฐ๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค.

UIImage + Extension

[ IM ] base64EncodedSourceString(compressionQuailty: CGFloat)

v1.0.0

์ด๋ฏธ์ง€๋ฅผ base64 encoding๋œ ํ…์ŠคํŠธ๋ฅผ ํฌํ•จํ•œ ์†Œ์Šค ํ…์ŠคํŠธ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

  • Parameter params: ์ด๋ฏธ์ง€ ์••์ถ• ๋น„์œจ

  • Returns: ์†Œ์Šคํ…์ŠคํŠธ๊ฐ€ ํฌํ•จ๋œ ์ŠคํŠธ๋ง

์ด๋ฏธ์ง€ ์••์ถ• ๋น„์œจ์€ 0๋ถ€ํ„ฐ 1๊นŒ์ง€ ๊ฐ€๋Šฅํ•˜๋ฉฐ ๋‚ฎ์„์ˆ˜๋ก ํ™”์งˆ์ด ์•ˆ์ข‹์•„์ง„๋‹ค.

๊ฒฐ๊ณผ๊ฐ’์€ ์•„๋ž˜์™€ ๊ฐ™์ด ๋„์ถœ๋œ๋‹ค.

"data:image/png;base64, ...(image)..."

Array + Extension

[ CP ] isNotEmpty: Bool

v1.0.0

Array ์˜ element๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ ํ•จ์ˆ˜

isEmpty์˜ ๋ฐ˜๋Œ€๊ฐ’์ด๋ฉฐ ์กฐ๊ธˆ ๋” ๋ช…์‹œ์ ์ธ ์ฝ”๋”ฉ์„ ์œ„ํ•ด์„œ ์‚ฌ์šฉ

Date + Extension

[ E ] WPDateFormat: String

v1.0.0

์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” dateFormat์„ ์ •๋ฆฌ

case dateformat
dotDate yyyy.MM.dd
dotDateUntilMinute yyyy.MM.dd HH:mm
dotDateUntilSecond yyyy.MM.dd HH:mm:ss
dashDate yyyy-MM-dd
dashDateUntilMinute yyyy-MM-dd HH:mm
dashDateUntilSecond yyyy-MM-dd HH:mm:ss
serverDate yyyy-MM-dd'T'HH:mm:ss.SSZ

[ CP ] isToday: Bool

v1.0.0

date ๊ฐ€ ์˜ค๋Š˜ ๋‚ ์งœ๋ฅผ ์ง€์นญํ•˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

[ CP ] year: Int

v1.0.0

date์˜ ๋…„๋„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

[ CP ] month: Int

v1.0.0

date์˜ ์›”์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

[ CP ] day: Int

v1.0.0

date์˜ ์ผ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

[ CP ] lastDayOfMonth: Int?

v1.0.1

date์˜ ์›”์˜ ๋งˆ์ง€๋ง‰ ๋‚ ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

๋งˆ์ง€๋ง‰ ๋‚ ์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์—†์„ ๊ฒฝ์šฐ nil

[ CI ] init?(_:String?, dateFormat: WPDateFormat)

v1.0.0 Date ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ŠคํŠธ๋ง์ด ์‚ฌ์šฉ๋œ ํŒจํ„ด์œผ๋กœ ์ธ์‹๋˜๋ฉด Date ํ˜•์‹์œผ๋กœ ์ƒ์„ฑ๋œ๋‹ค.

  • Parameter dateString: Date ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ŠคํŠธ๋ง
  • Parameter dateFormat: DateFormat์ด ์ •์˜๋œ enum์œผ๋กœ WPExtension ์— ์ •์˜๋จ
  • Returns: dateString์ด ๋ณ€ํ™˜๋œ Date

[ CI ] init?(_:String?, dateFormat: String)

v1.0.0

Date ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ŠคํŠธ๋ง์ด ์‚ฌ์šฉ๋œ DateFormat์œผ๋กœ ์ธ์‹๋˜๋ฉด Date ํ˜•์‹์œผ๋กœ ์ƒ์„ฑ๋œ๋‹ค.

  • Parameter dateString: Date ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ŠคํŠธ๋ง
  • Parameter dateFormat: ์ŠคํŠธ๋ง์„ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•œ ํŒจํ„ด
  • Returns: dateString์ด ๋ณ€ํ™˜๋œ Date

[ CI ] init?(year: Int, month: Int, day: Int, hour: Int = 0, minute: Int = 0, second: Int = 0)

v1.0.0

์—ฐ ์›” ์ผ ๋“ฑ๋“ฑ dateComponent์˜ ์กฐํ•ฉ์œผ๋กœ ์›ํ•˜๋Š” ๋‚ ์งœ๋ฅผ ๋งŒ๋“œ๋Š” initializer

  • Parameter yaer: ๋‚ ์งœ์˜ ๋…„๋„

  • Parameter month: ๋‚ ์งœ์˜ ์›”

  • Parameter day: ๋‚ ์งœ์˜ ์ผ

  • Parameter hour: ๋‚ ์งœ์˜ ์‹œ, ๊ธฐ๋ณธ๊ฐ’์€ 0์ด๋‹ค.

  • Parameter minute: ๋‚ ์งœ์˜ ๋ถ„, ๊ธฐ๋ณธ๊ฐ’์€ 0์ด๋‹ค.

  • Parameter second: ๋‚ ์งœ์˜ ์ดˆ, ๊ธฐ๋ณธ๊ฐ’์€ 0์ด๋‹ค.

  • Returns: components๋“ค์ด ์กฐํ•ฉ๋œ Date

    ์ˆซ์ž๋ฅผ ์ง์ ‘ ๋งŒ๋“ค๋•Œ ์‚ฌ์šฉ์ด ๋˜๋ฉฐ ๊ธฐ๋ณธ์ ์ธ Timezone ์€ "UTC"์ด๊ธฐ ๋•Œ๋ฌธ์— formattedString ๋“ฑ์—์„œ ํ‘œํ˜„ํ•  ๋•Œ ๋‹ค๋ฅธ Timzone ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ์œ ์˜ํ•˜์ž

[ IM ] formattedString(_: WPDateFormat)

v1.0.0

Date ๋ฅผ ์›ํ•˜๋Š” ํ˜•์‹์˜ ์ŠคํŠธ๋ง์œผ๋กœ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”์„œ๋“œ

  • Parameter dateFormat: DateFormat์ด ์ •์˜๋œ enum์œผ๋กœ WPExtension ์— ์ •์˜๋จ
  • Returns: Date๊ฐ€ ํฌ๋งทํ™”๋œ ์ŠคํŠธ๋ง

[ IM ] formattedString(_: String)

v1.0.0

Date ๋ฅผ ์›ํ•˜๋Š” ํ˜•์‹์˜ ์ŠคํŠธ๋ง์œผ๋กœ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”์„œ๋“œ

  • Parameter dateFormat: dateFormat ์— ๋งž๋Š” ํŒจํ„ด
  • Returns: Date๊ฐ€ ํฌ๋งทํ™”๋œ ์ŠคํŠธ๋ง

UIColor + Extension

[ CI ] init?(hexString: String)

v1.0.1

hexValue ๋กœ ํ‘œํ˜„๋œ string ๊ฐ’์„ UIColor ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

  • Parameter hexString: #rrggbb ํ˜น์€ #rrggbbaa๋กœ ํ‘œํ˜„๋˜๋Š” hexValue String
  • Returns: hex๊ฐ’์„ ๋ณ€ํ™˜ํ•œ UIColor

[ CI ] init?(red: UInt, green: UInt, blue: UInt, alphaPercent: UInt = 100)

red green blue ๊ฐ’์„ 255 ์ด๋‚ด์˜ ์ž์—ฐ์ˆ˜๋กœ ํ‘œํ˜„ํ•˜๋ฉฐ, alpha๋Š” 100 ์ด๋‚ด์˜ ์ž์—ฐ์ˆ˜๋กœ percent๋ฅผ ํ‘œํ˜„ํ•œ ์ด๋‹ˆ์…œ๋ผ์ด์ €

  • Parameter red: ๋นจ๊ฐ„์ƒ‰ ๊ฐ’
  • Parameter green: ์ดˆ๋ก์ƒ‰ ๊ฐ’
  • Parameter blue: ํŒŒ๋ž€์ƒ‰ ๊ฐ’
  • Parameter alphaPercent: ์•ŒํŒŒ ํผ์„ผํŠธ ๊ฐ’
  • Returns: ๊ฐ’์ด ๋ณ€ํ™˜๋œ UIColor

red green blue ๊ฐ’์€ 255 ์ด๋‚ด์ด๋ฉฐ 256 ์ด์ƒ์ด ๋˜๋Š” ๊ฒฝ์šฐ nil์ด ๋ฆฌํ„ด๋œ๋‹ค. alphaPercent์˜ ๊ฒฝ์šฐ 100์ด๋‚ด์ด๋ฉฐ 101 ์ด์ƒ์ด ๋˜๋Š” ๊ฒฝ์šฐ nil์ด ๋ฆฌํ„ด๋œ๋‹ค. alphaPercent ๋Š” defaultValue๋ฅผ 100์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ ์ƒ์„ฑ์‹œ ์ƒ๋žต์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

[ IM ] hexString(withAlpha: Bool = false, uppercase: Bool = false) -> String

v1.0.1

UIColor์˜ hexValue๊ฐ€ ํ‘œํ˜„๋œ String์„ ์–ป๊ธฐ ์œ„ํ•œ ํ•จ์ˆ˜

  • Parameter withAlpha: ์•ŒํŒŒ๊ฐ’์„ ํฌํ•จํ•œ 8์ž๋ฆฌ ๊ฐ’์œผ๋กœ ํ‘œํ˜„ํ•  ๊ฒƒ์ธ์ง€ ํŒ๋‹จํ•˜๋Š” ๊ฐ’
  • Parameter uppercase: ๋Œ€/์†Œ๋ฌธ์ž๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ฐ’
  • Returns: #๊ณผ hexValue ๊ฐ€ ํ‘œํ˜„๋œ ๊ฐ’