【发布时间】:2015-12-31 20:30:29
【问题描述】:
我想返回一个单元格的多个元素。我该怎么做?这是我正在处理的代码
//
// TableViewControllerCompiti.swift
// Secondo B
//
// Created by Edoardo on 23/12/15.
// Copyright © 2015 ERC. All rights reserved.
//
import UIKit
import Parse
class TableViewControllerCompiti: UITableViewController {
var selfTable: NSMutableArray = NSMutableArray()
@IBOutlet var MessageTable: UITableView!
@IBOutlet weak var Compiti: UILabel!
@IBOutlet weak var DescrizioneCompiti: UITextView!
@IBOutlet weak var DataCompiti: UILabel!
var messagesArray: [String] = [String]()
var descriptionArray: [String] = [String]()
var dateArray: [String] = [String]()
override func viewDidLoad() {
super.viewDidLoad()
func retrieveMessages() {
let query = PFQuery(className: "Compiti")
query.findObjectsInBackgroundWithBlock {
(remoteObjects: [PFObject]?, error: NSError?) -> Void in
for messageObject in remoteObjects! {
let messageText: String? = (messageObject as PFObject) ["Materia"] as? String
let descriptionText: String? = (messageObject as PFObject) ["Compiti"] as? String
let date: String? = (messageObject as PFObject) ["Data"] as? String
if messageText != nil {
self.messagesArray.append(messageText!)
}
if descriptionText != nil {
self.descriptionArray.append(descriptionText!)
}
if date != nil {
self.dateArray.append(date!)
}
}
self.MessageTable.reloadData()
}
}
retrieveMessages()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = UITableViewCell?()
cell = tableView.dequeueReusableCellWithIdentifier("cell")
Compiti.text = self.messagesArray[indexPath.row]
DataCompiti.text = self.dateArray[indexPath.row]
DescrizioneCompiti.text = self.descriptionArray[indexPath.row]
if cell == nil {
cell = UITableViewCell(style: UITableViewCellStyle.Value1, reuseIdentifier: "ReUseCell")
}
return cell!
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.messagesArray.count
}
}
当我运行它时,模拟器只返回一堆空单元格。如何返回元素?
【问题讨论】:
-
你有多少个原型单元?它们的可重用标识符是什么?你有单元格的自定义类吗?另外,
viewDidLoad中不应该有函数 -
我从 Parse 获取信息,因此单元格的数量取决于 Parse 数据库中的行数。它们的可重用标识符是
cell。不,我没有任何自定义课程。 @alaphao -
Compti、DescrizioneCompiti和DataCompiti是原型单元内的组件,对吧?首先,您应该创建一个自定义tableViewCell并将插座连接到您创建的自定义单元,而不是在 viewcontroller 上。 -
返回行数时
self.messagesArray.count的值是多少? (最好有一个对象数组,每个对象包含三个字符串,而不是三个字符串数组。想象一下,如果您收到没有匹配描述的消息文本会发生什么!) -
你能告诉我(在答案中)我该怎么做吗? @菲利普米尔斯
标签: swift parse-platform tableview