2016-12-07 57 views
1

我意識到for循環被舊系統棄用,但一直未能找出問題所在。我已經創建了這個for循環的目標c現在我想知道如果這個與xCode 7.3的方式引入實現for循環是否被棄用。如果答案是你可以給我一個關於如何使不被棄用的循環的例子嗎?但我不明白哪裏是我的錯For循環在xCode 7.3上棄用

for (NSInteger i = 0; i < self.valueForBar.count; i++) { 


     // Creazione delle barre in movimento 

     CGFloat columnWidth = 25; 
     CGFloat maximumValueOfBar = self.frame.size.height; 
     CGFloat index = [[self.valueForBar objectAtIndex:i] floatValue] /100; 
     CGFloat barWidth = 20; 

     UIBezierPath *path = [UIBezierPath bezierPath]; 
     [path moveToPoint:CGPointMake(15 +columnWidth *i,maximumValueOfBar -25)]; 
     [path addLineToPoint:CGPointMake(15 +columnWidth *i,(maximumValueOfBar -25) - maximumValueOfBar * index)]; 


     CAShapeLayer *pathLayer = [CAShapeLayer layer]; 
     pathLayer.frame = self.scrollChart.bounds; 
     pathLayer.path = path.CGPath; 
     pathLayer.strokeColor = self.fillBarColor.CGColor; 
     pathLayer.fillColor = nil; 
     pathLayer.lineWidth = barWidth; 
     pathLayer.lineJoin = kCALineJoinBevel; 


     [self.scrollChart.layer addSublayer:pathLayer]; 


     CABasicAnimation *pathAnimation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"]; 
     pathAnimation.duration = 1; 
     pathAnimation.fromValue = [NSNumber numberWithFloat:0.0f]; 
     pathAnimation.toValue = [NSNumber numberWithFloat:1.0f]; 
     [pathLayer addAnimation:pathAnimation forKey:@"strokeEnd"]; 

    } 
+0

這些C風格的循環在** Swift **(僅)中已棄用。 – vadian

回答

1

for循環空調風格的雨燕已被棄用,而不是目的C.目標C是一個超集C和符合C標準,所以C風格循環永遠不會消失,尤其是因爲Apple最近沒有發佈很多Objective C更改。

+0

好吧,但我在目標C工作,我應該有問題?我的代碼不規則?我不使用Swift,但我使用Objective C – kAiN

+0

它是不是編譯,如果是的話,錯誤是什麼。如果它運行的是它運行預期的次數?你有沒有在循環中加入一個NSLog或一個斷點來檢查? –

+0

所以..我會解釋..我的代碼完美工作,但有些人告訴我它已被棄用。你告訴我,這個代碼已被棄用,只適用於SWIFT而不適用於Objective-C。我是否正確?我正在研究Objective C,然後想知道我是否工作得很好,或者我應該改變什麼:) – kAiN