Charts: (v3.0 + Swift3.0) ChartView highlightValueWithXκ°€ μž‘λ™ν•˜μ§€ μ•ŠμŒ

에 λ§Œλ“  2016λ…„ 09μ›” 20일  Β·  23μ½”λ©˜νŠΈ  Β·  좜처: danielgindi/Charts

ChartView highlightValueWithX λ©”μ†Œλ“œκ°€ v3.0 + Swift3.0μ—μ„œ μž‘λ™ν•˜μ§€ μ•ŠλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.
Xcode 8 / λ§ˆμŠ€ν„° 브랜치 / Objc.

bug β˜…β˜…β˜…

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

λ‹€μŒ 행을 λ³€κ²½ν•˜μ‹­μ‹œμ˜€. lineChartView.highlightValue (x : 3, dataSetIndex : 0)

to : lineChartView.highlightValue (Highlight (x : 3, y : 0, dataSetIndex : 0)

λͺ¨λ“  23 λŒ“κΈ€

@PhilJay highlightValue(x...) ν•¨μˆ˜λŠ” ν•˜μ΄λΌμ΄νŠΈ λ Œλ”λŸ¬κ°€ Y κ°’μ΄μžˆμ„ κ²ƒμœΌλ‘œ μ˜ˆμƒν•˜κΈ° λ•Œλ¬Έμ— μ‹€νŒ¨ν•©λ‹ˆλ‹€. κ²°κ³ΌλŠ” NaN으둜, 아무데도 λ Œλ”λ§λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

Android와 iOS λͺ¨λ‘?

λ„€...

흠 ... μ½”λ“œλ₯Ό μ‚΄νŽ΄ λ³΄μ•˜λŠ”λ°, 이건 κΉŒλ‹€λ‘œμš΄ λ¬Έμ œμž…λ‹ˆλ‹€. λ™μΌν•œ x μœ„μΉ˜μ— μ—¬λŸ¬ ν•­λͺ©μ΄μžˆλŠ” 경우 y μœ„μΉ˜λ₯Ό μ§€μ •ν•˜μ§€ μ•ŠμœΌλ©΄ νŠΉμ • ν•­λͺ©μ„ μ„±κ³΅μ μœΌλ‘œ κ°•μ‘° ν‘œμ‹œ ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

이 방법을 μ‚­μ œν•΄μ•Όν• κΉŒμš”?
또 λ‹€λ₯Έ μ˜΅μ…˜μ€ 방법에 y μœ„μΉ˜λ₯Ό 맀개 λ³€μˆ˜λ‘œ ν¬ν•¨ν•˜λŠ” κ²ƒμž…λ‹ˆκΉŒ?

λ¬Έμ œλŠ” ν„°μΉ˜ μ΄λ²€νŠΈμ—μ„œ μ„ νƒν•˜λŠ” κ²ƒμœΌλ‘œ μ‹œμž‘ν•©λ‹ˆλ‹€. λ™μΌν•œ x에 μ—¬λŸ¬ κ°’μ΄μžˆλŠ” λΆ„μ‚° ν˜• λ˜λŠ” κ±°ν’ˆ ν˜• μ°¨νŠΈκ°€μžˆλŠ” 경우 μ—¬μ „νžˆ μ‹€μ œλ‘œ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ‹€μ œλ‘œ X μΆ•μ˜ ν„°μΉ˜ μœ„μΉ˜μ— 따라 λ™μΌν•œ xμ—μ„œ 첫 번째 λ˜λŠ” λ§ˆμ§€λ§‰ ν•˜λ‚˜λ₯Ό μ„ νƒν•©λ‹ˆλ‹€!

μš°λ¦¬κ°€ 그것을 고친 ν›„-μ•Œκ³ λ¦¬μ¦˜μ΄ Y 값을 μ·¨ν•˜λŠ” 것을 μ•Œκ³  μ˜¬λ°”λ₯Έ X에 λ„λ‹¬ν•˜λ©΄ μ˜¬λ°”λ₯Έ Yλ₯Ό κ²€μƒ‰ν•˜κΈ° μ‹œμž‘ν•©λ‹ˆλ‹€.
그런 λ‹€μŒ λ³„λ„μ˜ λ°©λ²•μœΌλ‘œ Y 값을 전달할 μˆ˜μžˆλŠ” μ˜΅μ…˜μ΄ μžˆμŠ΅λ‹ˆλ‹€! :-)
X둜 κ°„λ‹¨νžˆ κ°•μ‘°ν•˜λŠ” 원본은 맀우 μœ μš©ν•˜λ©° λ§Žμ€ μ‚¬λžŒλ“€μ΄ 문제둜 νŒλ‹¨ν•˜μ—¬ 이에 μ˜μ‘΄ν•©λ‹ˆλ‹€ ... κ·Έλž˜μ„œ μš°λ¦¬κ°€ 그것을 μ œκ±°ν•˜λ©΄ 증였 메일을 λ°›κ²Œλ©λ‹ˆλ‹€ :-)

꺾은 μ„ ν˜• 차트 ν•­λͺ©μ„ ν”„λ‘œκ·Έλž˜λ° λ°©μ‹μœΌλ‘œ κ°•μ‘° ν‘œμ‹œν•˜κΈ°μœ„ν•œ ν˜„μž¬ ν•΄κ²° 방법이 μžˆμŠ΅λ‹ˆκΉŒ? ν˜„μž¬ λͺ¨λ“  ν•˜μ΄λΌμ΄νŠΈ 방법이 κΉ¨μ‘ŒμŠ΅λ‹ˆκΉŒ?

@apurva 라인 μ°¨νŠΈλŠ” 잘 μž‘λ™ν•©λ‹ˆλ‹€. μ΅œμ‹  mater λΆ„κΈ°λ‘œ ChartsDemoλ₯Ό ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€.

μ„  μ°¨νŠΈμ—μ„œ μ—¬μ „νžˆ μž‘λ™ν•˜μ§€ μ•ŠλŠ” ν”„λ‘œκ·Έλž˜λ° λ°©μ‹μœΌλ‘œ κ°•μ‘° ν‘œμ‹œν•©λ‹ˆλ‹€.

λ§ˆμ§€λ§‰ 값을 κ°•μ‘°ν•˜λ €κ³ ν•©λ‹ˆλ‹€.

[self.lineChartView highlightValueWithX:self.lineChartView.chartXMax dataSetIndex:0 callDelegate:YES];

κ·ΈλŸ¬λ‚˜ λŒ€λ¦¬μž λ©”μ„œλ“œμ—μ„œ-(void) chartValu eSelected : entry : highlight : highlight.xPx 및 highlight.yPxλŠ” NaNμž…λ‹ˆλ‹€.

highlightValueWithXκ°€ μž‘λ™ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” 것을 λ‹€μ‹œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

ν•˜μ΄λΌμ΄νŠΈλ₯Ό λ§Œλ“€μ–΄ λ³΄μ•˜μŠ΅λ‹ˆλ‹€
ChartHighlight * high = [[ChartHighlight alloc]initWithX:(double)someInt dataSetIndex:0];
그것과 ν•¨κ»˜ highlightValueWithHighlight λ©”μ†Œλ“œλ₯Ό μ‚¬μš©ν–ˆμ§€λ§Œ μ—¬μ „νžˆ κ°•μ‘° ν‘œμ‹œλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. chartValueSelected : entry : highlight : delegate λ©”μ†Œλ“œκ°€ ν˜ΈμΆœλ©λ‹ˆλ‹€.이 λ©”μ†Œλ“œλŠ” ν•­λͺ© 객체에 μ˜¬λ°”λ₯Έ 값을 ν¬ν•¨ν•˜μ§€λ§Œ κ°•μ‘° 객체의 y κ°’μ—λŠ” NaN이 μžˆμŠ΅λ‹ˆλ‹€.

y 값도 ν¬ν•¨ν•˜λŠ” ChartHighlight * 개체λ₯Ό λ§Œλ“œλŠ” 방법이 μžˆμŠ΅λ‹ˆκΉŒ? ChartHighlight ν΄λž˜μŠ€μ— λŒ€ν•œ λ‹€μ–‘ν•œ init λ©”μ„œλ“œκ°€ μžˆμ§€λ§Œ λ‹€λ₯Έ λͺ¨λ“  λ©”μ„œλ“œμ—λŠ” μ ˆλŒ€ ν”½μ…€ μœ„μΉ˜κ°€ ν•„μš”ν•©λ‹ˆλ‹€.

@ liuxuan30 차트 데λͺ¨μ˜ μ–΄λŠ 뢀뢄이 ν”„λ‘œκ·Έλž˜λ° λ°©μ‹μœΌλ‘œ 차트λ₯Ό κ°•μ‘°ν•˜λŠ”μ§€ 지적 ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

λ˜λŠ” κ°•μ‘° ν‘œμ‹œλ₯Ό μ‚¬μš©ν•˜λŠ” 것 외에 λ‹€λ₯Έ λ©”μ»€λ‹ˆμ¦˜μ—μ„œ ν˜„μž¬ μ„ νƒν•œ ν•­λͺ©μ„ ν‘œμ‹œν•˜λŠ” 방법이 μžˆμŠ΅λ‹ˆκΉŒ?

ChartsλŠ” 포컀슀 ν™˜κ²½μ„ μ§€μ›ν•˜μ§€ μ•ŠμœΌλ©° μ°¨νŠΈμ— λŒ€ν•œ μ‚¬μš©μž μƒν˜Έ μž‘μš©μ€ λ‚΄μž₯ 된 제슀처 인식기에 μ˜μ‘΄ν•˜λŠ” λŒ€μ‹  ν”„λ‘œκ·Έλž˜λ° λ°©μ‹μœΌλ‘œ μ²˜λ¦¬λ˜μ–΄μ•Όν•˜κΈ° λ•Œλ¬Έμ— TVOS에 μ ˆλŒ€μ μœΌλ‘œ ν•„μš”ν•©λ‹ˆλ‹€.

이 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ 둜컬 λ³΅μ‚¬λ³Έμ—μ„œ λ‹€μŒμ„ μˆ˜ν–‰ν–ˆμŠ΅λ‹ˆλ‹€.

Highlight.swiftμ—μ„œ y κ°’μ„λ°›λŠ” μ΄λ‹ˆμ…œ 라이저λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

    /// - parameter x: the x-value of the highlighted value
    /// - parameter y: the y-value of the highlighted value
    /// - parameter dataSetIndex: the index of the DataSet the highlighted value belongs to
    public init(x: Double, y: Double, dataSetIndex: Int)
    {
        _x = x
        _y = y
        _dataSetIndex = dataSetIndex
    }

그런 λ‹€μŒ ν”„λ‘œκ·Έλž˜λ° λ°©μ‹μœΌλ‘œ κ°•μ‘° ν‘œμ‹œν•˜λ €λ©΄ λ‹€μŒκ³Ό κ°™μ΄ν•©λ‹ˆλ‹€.

   let entry = //... the ChartDataEntry I want to highlight
   self.chart.highlightValue(
       Highlight(x: entry.x, y: entry.y, dataSetIndex: 0)
   )

λ‚˜λŠ” 이것이 μ•žμœΌλ‘œ λ‚˜μ•„κ°ˆ μˆ˜μžˆλŠ” μ μ ˆν•œ μ ‘κ·Ό 방식인지 μ•ŒκΈ°μ— μ½”λ“œμ— λŒ€ν•΄ μΆ©λΆ„νžˆ μ΅μˆ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이 경우, λ‚˜λŠ” ν•œ κ°€μ§€κ² μŠ΅λ‹ˆκΉŒ 도움이라고 생각 ChartData.highlightForEntry() -> Highlight 에 μ—­μ˜ μ—­ν• μ„ν•˜κΈ° ChartData.entryForHighlight()

μ‹€μ œλ‘œ μžμ„Ένžˆ μ‚΄νŽ΄λ³΄λ©΄ 라인 μ°¨νŠΈμ— μ μš©λ˜μ§€ μ•Šμ€ 일뢀 λ‹€λ₯Έ λ Œλ”λŸ¬μ— λŒ€ν•œ 졜근 μˆ˜μ • 사항이 μžˆμŒμ„ λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€.

이 μ»€λ°‹μ—μ„œ :

https://github.com/danielgindi/Charts/commit/8905a46c8262998ccdb780bbd5d2c03e45b8ab5a#diff -52d760df99fc778bb8222bd3cc9ce413R225

x 및 y λ³€μˆ˜λŠ” Highlight h μ•„λ‹ˆλΌ entry μ—μ„œ κ°€μ Έ μ˜€λ„λ‘ λ³€κ²½λ˜μ—ˆμŠ΅λ‹ˆλ‹€. LineChartRenderer 에도 λ™μΌν•œ μˆ˜μ •μ΄ 적용되면 λ¬Έμ œκ°€ ν•΄κ²° 될 것이라고 μƒκ°ν•©λ‹ˆλ‹€.

λ‚˜λŠ” 그것을 μ‹œν—˜ 해보고 였늘 μ‹œκ°„μ΄ ν—ˆλ½ν•˜λŠ” ν•œ μ€€λΉ„λ˜μ–΄ 있기λ₯Ό λ°”λžλ‹ˆλ‹€.

λ˜ν•œ κ°• 쑰선이 contentTopμ—μ„œ contentBottom으둜 μ΄λ™ν•˜κΈ° λ•Œλ¬Έμ— y Valueκ°€ μ‹€μ œλ‘œ μ‚¬μš© 된 κ²ƒμ²˜λŸΌ 보이지 μ•ŠμŠ΅λ‹ˆλ‹€. 문제의 원인은 μ‹€μ œλ‘œ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

let pt = trans.pixelForValues(x: x, y: y)

y 이 NaN 이면 pt.x도 NaN 둜 λ‚˜μ˜΅λ‹ˆλ‹€. 이것은 μ‹€μ œλ‘œ Swift 3 / CoreGraphics λ²„κ·Έλ‘œ λ³΄μž…λ‹ˆλ‹€. μ—¬κΈ° Swift Replμ—μ„œ 증λͺ…λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

  7> import CoreGraphics
  8> let trans = CGAffineTransform(scaleX: 1.0, y: 1.0)
trans: CGAffineTransform = {
  a = 1
  b = 0
  c = 0
  d = 1
  tx = 0
  ty = 0
}
  9> let pt = CGPoint(x: 1.0, y: Double.nan)
pt: CGPoint = (x = 1, y = NaN)
 10> pt.applying(trans)
$R2: CGPoint = (x = NaN, y = NaN)

@apurva μ—¬κΈ°μ—μ„œ λ‚΄ fix-1495 지점을 μ‚¬μš©ν•΄ λ³Ό 수 μžˆμŠ΅λ‹ˆκΉŒ?

https://github.com/ryanschneider/Charts/tree/fix-1495

μ˜ˆμƒλŒ€λ‘œ μž‘λ™ν•˜λŠ”μ§€ 확인 ν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ? 그것은 λ‚˜λ₯Ό μœ„ν•΄ μΌν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. @danielgindi & @ liuxuan30 , μ €λŠ” ScatterChartRenderer μ—μ„œ μ½”λ“œλ₯Ό λ‹€μ†Œ λ³΅μ‚¬ν–ˆμ§€λ§Œ LineChartRenderer μ—μžˆλŠ” if x > chartXMax * animator.phaseX 확인을 μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” set.entriesForXValue(high.x) 이상을 반볡 ν•  ν•„μš”λŠ” _ μƒκ°ν•˜μ§€ μ•Šμ§€λ§Œ _ ν˜„μž¬λŠ” κ·Έλ ‡μŠ΅λ‹ˆλ‹€. ν•˜λ‚˜ μ΄μƒμ˜ ν•­λͺ©μ΄ μžˆμ–΄μ„œλŠ” μ•ˆλ˜κΈ° λ•Œλ¬Έμ— ν•΄κ°€ 될 것 κ°™μ§€λŠ” μ•Šμ§€λ§Œ, κ·Έ 사싀을 확인할 수 μžˆλ‹€λ©΄ 기꺼이 set.entryForXValue(high.x) ν†΅ν™”λ‘œ μ ‘μ–΄μ„œ PR을 λ³΄λ‚΄κ² μŠ΅λ‹ˆλ‹€.

νšŒκ·€ ν…ŒμŠ€νŠΈ ν•˜μ΄λΌμ΄νŠΈ 버그λ₯Ό μ§€μ›ν•˜κΈ° μœ„ν•΄ ChartsDemo에 ν”„λ‘œκ·Έλž˜λ° λ°©μ‹μ˜ ν•˜μ΄λΌμ΄νŠΈ μ˜΅μ…˜μ„ μΆ”κ°€ν•˜λŠ” 것도 μ’‹μ§€λ§Œ,이λ₯Ό μˆ˜ν–‰ν•˜λŠ” 데 ν•„μš”ν•œ 사항은 μ‘°μ‚¬ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

@ryanschneider 의 λ…Έλ ₯에 κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€! @danielgindi 당신은 μ–΄λ–»κ²Œ μƒκ°ν•©λ‹ˆκΉŒ?

@ryanschneider κ·€ν•˜μ˜ λ…Έλ ₯에 κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€. λΆ„κΈ°μ—μ„œ λ³€κ²½ 사항을 μ‹œλ„ν–ˆμ§€λ§Œ highlightValueWithX 및 highlightValueWithHighlight λ©”μ†Œλ“œ λͺ¨λ‘ μ—¬μ „νžˆ μ €μ—κ²Œ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. κ°•μ‘° ν‘œμ‹œμ˜ y 값은 μ—¬μ „νžˆ ​​NaN이며 ν”„λ‘œκ·Έλž˜λ° λ°©μ‹μœΌλ‘œ 호좜 될 λ•Œ κ°•μ‘° ν‘œμ‹œκ°€ μ°¨νŠΈμ— 그렀지지 μ•ŠμŠ΅λ‹ˆλ‹€.

@danielgindi https://github.com/danielgindi/Charts/commit/32a5952cae25f864c5fd3a449e4f413da7f36f9b 의 컀밋을 ν¬ν•¨ν•˜μ—¬ μ΅œμ‹  λ§ˆμŠ€ν„°λ‘œ 방금 ν…ŒμŠ€νŠΈν–ˆμŠ΅λ‹ˆλ‹€.

highlightValueWithXλŠ” μ—¬μ „νžˆ κ°• 쑰선을 ν‘œμ‹œν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λŒ€λ¦¬μžκ°€ μ‹œμž‘λ˜κ³  κ°•μ‘° ν‘œμ‹œμ˜ y 값은 λŒ€λ¦¬μžμ—μ„œ μ—¬μ „νžˆ NaNμž…λ‹ˆλ‹€. μ΄μ „μ˜ κ²½μš°μ™€ 같이 제슀처 인식기λ₯Ό ν†΅ν•œ κ°•μ‘° ν‘œμ‹œλŠ” κ°•μ‘° 선을 ν‘œμ‹œν•˜μ§€λ§Œ highlightValueWithXκ°€ 호좜 된 κ²½μš°μ—λ§Œ ν‘œμ‹œλ©λ‹ˆλ‹€.

μ—¬μ „νžˆ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μ—¬μ „νžˆ Swift 3μ—μ„œ λ‚˜λ₯Ό μœ„ν•΄ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

`class ChartsViewController : UIViewController {

<strong i="7">@IBOutlet</strong> var lineChartView: LineChartView!

override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.

    let months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun"]
    let unitsSold = [20.0, 4.0, 6.0, 3.0, 12.0, 16.0]

    setChart(dataPoints: months, values: unitsSold)

}

func setChart(dataPoints: [String], values: [Double]) {

    var dataEntries: [ChartDataEntry] = []

    for i in 0..<dataPoints.count {
        let dataEntry = ChartDataEntry(x: Double(i), y: values[i])
        dataEntries.append(dataEntry)
    }

    let lineChartDataSet = LineChartDataSet(values: dataEntries, label: "Units Sold")
    let lineChartData = LineChartData(dataSet: lineChartDataSet)
    lineChartDataSet.highlightLineWidth = 2
    lineChartDataSet.highlightColor = UIColor.red

    lineChartView.data = lineChartData

    lineChartView.highlightValue(x: 3, dataSetIndex: 0)

    }

}`

λ‹€μŒ 행을 λ³€κ²½ν•˜μ‹­μ‹œμ˜€. lineChartView.highlightValue (x : 3, dataSetIndex : 0)

to : lineChartView.highlightValue (Highlight (x : 3, y : 0, dataSetIndex : 0)

μ—¬λŸ¬ 데이터 μ„ΈνŠΈκ°€μžˆλŠ” μ„  κ·Έλž˜ν”„μ—μ„œ ay : 0을 μ§€μ •ν•˜λ €κ³ ν–ˆμ§€λ§Œ μ—¬μ „νžˆ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이것에 λŒ€ν•œ μ—…λ°μ΄νŠΈκ°€ μžˆμŠ΅λ‹ˆκΉŒ? κ½€ 큰 λ²„κ·Έμž…λ‹ˆλ‹€.

Objective Cμ—μ„œ μ „ν™”ν–ˆμŠ΅λ‹ˆλ‹€.

κ°•μ‘° ν‘œμ‹œλœ κ°’μ˜ μœ„μΉ˜λ₯Ό β€‹β€‹μ•Œμ•„ λ‚΄κΈ°μœ„ν•œ μ•½κ°„μ˜ ν•΄ν‚Ή

// Highlight set programmatically
let dataEntry = dataEntries[linechartData.entryCount-1]
self.lineChartView.highlightValue(Highlight(x:` dataEntry.x, y:dataEntry.y, dataSetIndex: 0), callDelegate:` true)
func chartValueSelected(_ chartView: ChartViewBase, entry: ChartDataEntry, highlight: Highlight) {
        var markerPosition = CGPoint(x:highlight.xPx, y: highlight.yPx)
        // Hack to get the real position of the highlight programaticaly
        if markerPosition.x.isNaN || markerPosition.y.isNaN{
            let transformer = lineChartView.getTransformer(forAxis: lineChartView.leftAxis.axisDependency)
            let pt = transformer.pixelForValues(x: entry.x, y: entry.y)
            markerPosition.x = pt.x
            markerPosition.y = pt.y
        }
}

ν•΄ν‚Ή, jndefosseλ₯Ό μ‹œλ„ν–ˆμ§€λ§Œ ν•­λͺ©μ΄ κ°•μ‘° ν‘œμ‹œ 될 λ•Œλ§Œ λ ˆμ΄λΈ”μ„ ν‘œμ‹œν•˜λŠ” ν•¨μˆ˜λ₯Ό μ–΄λ–»κ²Œ 호좜 ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

이 버그가 μˆ˜μ • λ˜μ—ˆμŠ΅λ‹ˆκΉŒ? iOS 13.5 Swift 5.1의 파이 μ°¨νŠΈμ—μ„œ μ„Ήμ…˜μ„ κ°•μ‘° ν‘œμ‹œ ν•  μˆ˜μ—†λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰

κ΄€λ ¨ 문제

kwstasna picture kwstasna  Β·  3μ½”λ©˜νŠΈ

valeIT picture valeIT  Β·  3μ½”λ©˜νŠΈ

brytnvmg picture brytnvmg  Β·  4μ½”λ©˜νŠΈ

cilasgimenez picture cilasgimenez  Β·  4μ½”λ©˜νŠΈ

BrandonShega picture BrandonShega  Β·  4μ½”λ©˜νŠΈ