2015-05-24 5 views
0

Хорошо. Я абсолютно не знаю, что я делаю неправильно. Я создаю приложение для социальных сетей, и я пытаюсь объявить оператор for, который говорит «Для объекта в объектах {.....», но код не работает. Я пробирал форумы, и ничто не помогает. Я использую разбор, если это имеет значение.Swift Error Anyobject не имеет члена с именем 'Generator'

Вот мой код

// 
// usersCell.swift 
// CaastRun 
// 
// Created by Computer on 5/23/15. 
// Copyright (c) 2015 Caast. All rights reserved. 
// 

import UIKit 

class usersCell: UITableViewCell { 


    @IBOutlet weak var imgView: UIImageView! 

    @IBOutlet weak var profileLbl: UILabel! 

    @IBOutlet weak var usernameLbl: UILabel! 

    @IBOutlet weak var followBtn: UIButton! 


    override func awakeFromNib() { 
     super.awakeFromNib() 
     // Initialization code 


     let theWidth = UIScreen.mainScreen().bounds.width 

     contentView.frame = CGRectMake(0, 0, theWidth, 64) 
     imgView.center = CGPointMake(32, 32) 

     imgView.layer.cornerRadius = imgView.frame.size.width/2 
     imgView.clipsToBounds = true 
     profileLbl.frame = CGRectMake(70, 10, theWidth-75, 18) 
     followBtn.center = CGPointMake(theWidth-50, 42) 

    } 

    override func setSelected(selected: Bool, animated: Bool) { 
     super.setSelected(selected, animated: animated) 

     // Configure the view for the selected state 
    } 


    @IBAction func followBtn_click(sender: AnyObject) { 

     let title = followBtn.titleForState(.Normal) 
     if title == "Follow" { 

      var followObj = PFObject(className: "follow") 
      followObj["user"] = PFUser.currentUser()!.username 
      followObj["userToFollow"] = usernameLbl.text 
      followObj.save() 
      followBtn.setTitle("Following", forState: UIControlState.Normal) 
     }else{ 
      var query = PFQuery(className: "follow") 
      query.whereKey("user", equalTo: PFUser.currentUser()!.username!) 
      query.whereKey("userToFollow", equalTo: usernameLbl.text!) 





      var objects = query.findObjects() 
      for object in objects { 
       object.delete() 


} 
followBtn.setTitle("follow", forState: UIControlState.Normal) 

     } 
     } 
} 
+0

Вы можете уменьшить это небольшой пример, который подчеркивает ту роль, которую вы боретесь с? – kaz

+0

У меня возникли проблемы, когда он говорит «для объекта в объектах» { object.delete() «Я продолжаю получать ошибку там. – Larry

ответ

2

Проблема заключается в том, что findObjects() возвращается тип AnyObject и вы не можете использовать это в for цикле без приведения его первым. Parse Documentation говорит, что findObjects() возвращает массив PFObject, поэтому я хотел бы предложить:

if let objects = query.findObjects() as? [PFObject] { 
    for object in objects { 
     object.delete() 
    } 
} 
+0

Спасибо! Это сработало – Larry

Смежные вопросы