Я столкнулся с некоторой проблемой при написании цикла for в Swift. Может кто-нибудь угадать проблему в этомКак объявить цикл в swift?
var sublayers : Array <AnyObject>= [self.previewLayer.sublayers]
var subLayersCount: NSInteger = sublayers.count, currentSublayer = 0
var featuresCount :NSInteger = features.count, currentFeature = 0;
CATransaction.begin()
CATransaction.setValue(kCFBooleanTrue, forKey: kCATransactionDisableActions)
var layerTemp : CALayer = CALayer()
for layerTemp in sublayers{
if(layerTemp.name == "FaceLayer"){
layerTemp.hidden = true
}
Я пытаюсь проверить слои в подслоя. layertemp
от CAlayer
и sublayers
от AnyObject
.
Это дает мне ошибку: Constant layerTemp is inferred to be of AnyObject which is unexpected.
Может кто-нибудь пролить некоторый свет на это.
Эквивалентный код в Obj-C является:
NSArray *sublayers = [NSArray arrayWithArray:[self.previewLayer sublayers]];
NSInteger sublayersCount = [sublayers count], currentSublayer = 0;
NSInteger featuresCount = [features count], currentFeature = 0;
[CATransaction begin];
[CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions];
// hide all the face layers
for (CALayer *layer in sublayers) {
if ([[layer name] isEqualToString:@"FaceLayer"])
[layer setHidden:YES];
}
почему вы добавили эту строку кода: 'вар layerTemp: CALayer = CALayer()' ? – holex
Что такое «Swift C»? –