Использование неразрешенного идентификатора для себя

У меня есть подкласс PFQueryTableViewController для моего viewController, и я получаю те же ошибки везде, где я пишу self в своем коде.

Я думал, что PFQueryTableViewController не выдаст мне ошибок, но я приведу здесь свой код.

Я не уверен, почему у меня возникла эта проблема, потому что я использовал этот точный код раньше, и теперь я получаю сообщения об ошибках. Что-то отсутствует или код, который я должен добавить, чтобы удалить эту ошибку.

    import UIKit
    import Parse
    import CoreLocation


    @available(iOS 8.0, *)
    class ResponseViewController: PFQueryTableViewController, UITextFieldDelegate {

    var Reply:NSMutableArray! = NSMutableArray()
    var post:PFObject?


    override func viewDidAppear(animated: Bool) {
        super.viewDidAppear(animated)

        let query = PFQuery(className: "Test")


            query.limit = 200;
            query.addAscendingOrder("createdAt")

            query.findObjectsInBackgroundWithBlock {(objects: [AnyObject]?, error: NSError?) -> Void in

                if error == nil{
                    for object in objects!{
                        let post : PFObject = object as! PFObject
                        self.Reply.addObject(post)
                    }

                    let array : NSArray = self.Reply.reverseObjectEnumerator().allObjects
                    self.Reply = NSMutableArray(array: array)

                    self.tableView.reloadData()

                }
            }

        }}

    func objectAtIndexPath(indexPath: NSIndexPath!) -> PFObject? {
    var obj : PFObject? = nil
    if(indexPath.row < self.objects!.count){
        obj = self.objects![indexPath.row] as? PFObject
    }

    return obj
}



       func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
            return post.count
        }



     func numberOfSectionsInTableView(tableView: UITableView) -> Int {
            return 1
        }

    func tableView(tableView: UITableView?, cellForRowAtIndexPath indexPath: NSIndexPath?, object: PFObject!) -> PFTableViewCell? {
        let cell = tableView!.dequeueReusableCellWithIdentifier("responseCell", forIndexPath: indexPath!) as! ResponseCell
          if let respondersPost : PFObject = self.Reply.objectAtIndex(indexPath!.row) as! PFObject {
        cell.responder.text = object["userName"] as? String
        cell.respMessage.text = object["message"] as? String

        cell.respMessage.numberOfLines = 0
        let score = object[("count")] as! Int
        cell.likeCount.text = "\(score)"

        //    cell.userImage.image = object["photo"] as! PFFile
        cell.respMessage.text = respondersPost.objectForKey("message") as! String

        return cell
    }



    func sendReply(sender: AnyObject) {
                    let testObj = PFObject(className: "Responses")
                    print("***///let testObj = PFObject(className: \"Responses/***")


            //        testObj["location"] = PFGeoPoint(latitude: currLocation!.latitude , longitude: currLocation!.longitude)
                    testObj["count"] = 0
                    testObj["message"] = self.textfield.text
                    testObj.saveInBackgroundWithBlock { (success:Bool, error :NSError?) -> Void in
                        if error == nil
                        {
                            print("***///detail is saved///***")
                            self.dismissViewControllerAnimated(true, completion: nil)
                        }

        }

person JoshyBroheme    schedule 30.10.2015    source источник
comment
Где вы получаете ошибку?   -  person tuledev    schedule 30.10.2015
comment
везде, где я пишу себя, моя ошибка говорит об использовании неразрешенного идентификатора для «я»   -  person JoshyBroheme    schedule 30.10.2015
comment
Вам нужно import ParseUI   -  person pbush25    schedule 30.10.2015
comment
Я все еще получаю ошибки   -  person JoshyBroheme    schedule 30.10.2015
comment
Это на самом деле не отвечает на ваш вопрос, но может направить вас в правильном направлении. Нет смысла в подклассе PFQueryTableViewController, если вы не собираетесь использовать его как один, переопределяя его метод queryForTable и инициализируя его так, как ожидается. Я опубликую код инициализации ниже, но вы должны изучить парадигмы, связанные с его использованием, а не просто обычным tableView   -  person pbush25    schedule 30.10.2015


Ответы (2)


Правильный способ использования PFQueryTableViewController

import UIKit
import ParseUI

class WaitListTVC: PFQueryTableViewController {

override init(style: UITableViewStyle, className: String?) {
    super.init(style: style, className: className)
}

required init(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)!

    self.parseClassName = CoursetyConstants.kWaitListClassName
    self.pullToRefreshEnabled = true
    self.paginationEnabled = true
}

override func queryForTable() -> PFQuery {
    let query = PFQuery(className: self.parseClassName!)
    //query.whereKey("user", equalTo: PFUser.currentUser()!)
    return query
}
person pbush25    schedule 30.10.2015
comment
У меня это уже есть в моем коде, просто я не помещал этот код здесь в стек - person JoshyBroheme; 30.10.2015

PFQueryTableViewController является частью ParseUI SDK, поэтому, если вы не импортируете его в своем представлении, вы столкнетесь с проблемами.

person David Rothera    schedule 30.10.2015
comment
Что ж, у меня установлены стручки какао, поэтому мне не нужно каждый раз импортировать интерфейс Parse. - person JoshyBroheme; 30.10.2015
comment
Да, если какой-либо из ваших CocoaPods использует фреймворки. Это новое в Swift 2 - person pbush25; 30.10.2015
comment
Ну, я добавил «импорт ParseUI» раньше, но я все еще вижу ошибки - person JoshyBroheme; 30.10.2015
comment
Вы ссылаетесь на self.objects, но я не вижу объявления класса для self.objects - person David Rothera; 30.10.2015