从Parse.com(Swift)检索数据
我正试图将Parse.com上创建的对象中的数据提取到包含标签和图像的自定义单元格中。到目前为止,我实现的代码运行,但我的tableview仍然为空,并且在运行时显示以下错误。错误:线程1:Exc\U BAD\U指令(代码=Exc\U 1386\U INVOP,子代码=0x0)。有人能解释一下为什么会发生这种情况吗?我不熟悉Xcode编程从Parse.com(Swift)检索数据,swift,parse-platform,tableview,custom-cell,exc-bad-instruction,Swift,Parse Platform,Tableview,Custom Cell,Exc Bad Instruction,我正试图将Parse.com上创建的对象中的数据提取到包含标签和图像的自定义单元格中。到目前为止,我实现的代码运行,但我的tableview仍然为空,并且在运行时显示以下错误。错误:线程1:Exc\U BAD\U指令(代码=Exc\U 1386\U INVOP,子代码=0x0)。有人能解释一下为什么会发生这种情况吗?我不熟悉Xcode编程 @objc protocol ViewControllerDelegate { optional func toggleLeftPanel() optiona
@objc
protocol ViewControllerDelegate {
optional func toggleLeftPanel()
optional func toggleRightPanel()
optional func collapseSidePanels()
}
class ViewController: UITableViewController, UITableViewDataSource, UITableViewDelegate
{
var delegate: ViewControllerDelegate?
var arrayOfParties: [Information] = [Information]()
@IBAction func menuTapped(sender: AnyObject) {
delegate?.toggleLeftPanel?()
}
override func viewDidLoad()
{
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.loadData()
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
//return self.arrayOfParties.count
return self.arrayOfParties.count
}
//Function to adjust the height of the custom cell
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
{
return 230
}
override func tableView(tableView: UITableView,cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let cell: CustomCell = tableView.dequeueReusableCellWithIdentifier("Cell") as! CustomCell
let party = arrayOfParties[indexPath.row]
cell.setCell(party.partyName, promoterLabelText: party.promoterName, partyCostLabelText: party.partyCost, partyFlyerUIImage: party.flyerImage, promoterUIImage: party.promoterImage)
return cell
}
func loadData()
{
var findDataParse:PFQuery = PFQuery(className: "flyerDataFetch")
findDataParse.findObjectsInBackgroundWithBlock{
(objects: [AnyObject]?, error: NSError?)->Void in
if (error == nil){
for object in objects!
{
var party1 = Information(partyName: (object["partyName"] as? String)!, promoterName: (object["promoterName"] as? String)!, partyCost: (object["partyCost"] as? String)!, flyerImage: "", promoterImage: "")
self.arrayOfParties.append(party1)
}
}
else {
// something went wron
}
}
}
}
问题是tableview中可能已经有没有新标签/图像的单元格。 您需要告诉程序在没有新类型输入的地方插入一种文本类型 在这种情况下,我从一个月前开始做一个项目,现在我开始在我的单元格中插入更多的标签,这就是问题出现的地方,所以以前的单元格没有这些信息。 所以我只是告诉系统检查所有单元格,如果一个单元格没有所需的文本,它应该只输入一些占位符文本(在本例中为“”)
我希望这有帮助,我只是解释了如何做,我并没有告诉您在代码中要这样做,但从我看到的情况来看,您应该在声明“Party1”的部分下面输入代码。问题是,tableview中可能已经有单元格没有新的标签/图像。 您需要告诉程序在没有新类型输入的地方插入一种文本类型 在这种情况下,我从一个月前开始做一个项目,现在我开始在我的单元格中插入更多的标签,这就是问题出现的地方,所以以前的单元格没有这些信息。 所以我只是告诉系统检查所有单元格,如果一个单元格没有所需的文本,它应该只输入一些占位符文本(在本例中为“”)
我希望这会有所帮助,我只是解释了如何做,我并没有真正告诉您在代码中可以这样做,但从我看到的情况来看,您应该在声明“Party1”的部分下方输入代码。请不要污损您自己的答案。如果你不想要它,你可以删除它。请不要污损你自己的答案。如果不需要,可以将其删除。
if let content = text.objectForKey("Content") as? String {
cell.TextView.alpha = 1.0
cell.TextView.text = content
}
else{
cell.TextView.alpha = 1.0
cell.TextView.text = ""
}