2015-12-21 4 views
-1

Я попытался решить эту ошибку, но мне не повезло. Я получаю ошибку: Cannot subscript a value of type '[PFObject]' with an index of type 'String' На этой строке кода: self.postDates.append(posts["createdAt"] as! String).Невозможно подстроить ошибку PFObject

Это часть кода у меня возникают проблемы с:

var posts : [Post] = [] 
var postDates = [String]() 

func loadData() { 
    var query = PFQuery(className: "Post") 
    query.orderByDescending("createdAt") 

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

     if error == nil { 
      if let posts = posts { 
       for post in posts { 
        self.postDates.append(posts["createdAt"] as! String) 
       } 
       self.tableView.reloadData() 
      } 
     } else { 
      // is an error 
     } 
    } 
} 

Я пытаюсь получить дату, а затем отобразить его каждый раз, когда пользователь создает новую запись, использующую Разбор. Кто-нибудь может объяснить, что происходит?

Это учебник я отслеживаю вместе с: https://www.youtube.com/watch?v=L3VQ0TE_fjU

ответ

0

Поскольку posts является массивом PFObject, как вы можете получить элемент внутри от String? Предполагается, что он будет Int. Это просто твоя опечатка, ты уже знаешь, что делаешь. post - PFObject вы хотите.

for post in posts { 
    self.postDates.append(post["createdAt"] as! String) 
} 
0

Вы пытаетесь получить (и добавить), составленный на дату PFObject,
вместо этого вы получаете дату и массив PFObject (Какие сообщения есть).

Вы должны попытаться получить элементы в массиве и получить дату от элемента вместо массива.

for post in posts{ 
    postDates.append(post["createdAt"] as! String) 
} 
Смежные вопросы