不使用 Parse.com 填充 UiTableView 会导致 SWIFT
Not populating UiTableView with Parse.com results in SWIFT
我希望有人能提供帮助,因为我正在尝试调试,但我在兜圈子。
我在 Parse.com 中有一个 table 并且可以成功查询和检索数据。
我用 println 做了一个测试,字符串的正确值显示在输出中。
我试图做的是将这些值放入 UITableView 中,但这让我走上了一些非常令人沮丧的道路(我仍在尽我所能地学习它,有时有些概念很难理解)。
我的最后一次尝试(参见下面的代码)我认为通过将值写入结构我可以像过去那样使用它,因为我可以看到我需要填充的值。我不认为这是正确的方法,但我认为它应该有效。
当我在其中放置断点时,我的代码甚至没有定义 table 视图 :(
我知道我错过了一些东西,但也许只需要一双新的眼睛来帮助我看到我错过了什么。
任何帮助将不胜感激:
@IBOutlet weak var navlabel: UILabel!
var TopicPassed:String!
var storedsentences=[getsentences]()
@IBOutlet weak var sentencetableview: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
navlabel.text = TopicPassed
var query = PFQuery(className:"TalkToMeSentences")
query.whereKey("Topic", equalTo:TopicPassed)
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]!, error: NSError!) -> Void in
if error == nil {
// query successful - display number of rows found
println("Successfully retrieved \(objects.count) sentences")
// print sentences found
for object in objects {
let retrievedsentences = object["Sentence"] as NSString
self.storedsentences = [getsentences(parsesentence: "\(retrievedsentences)")]
println("\(retrievedsentences) ")
}
self.sentencetableview.reloadData()
} else {
// Log details of the failure
println("Error: \(error) \(error.userInfo!)")
}
}
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return storedsentences.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell
var sentence : getsentences
// Configure the cell...
cell.accessoryType = UITableViewCellAccessoryType.DisclosureIndicator
cell.textLabel!.lineBreakMode = NSLineBreakMode.ByWordWrapping
sentence = storedsentences[indexPath.row]
cell.textLabel!.text = sentence.parsesentence
cell.textLabel?.numberOfLines = 0
return cell
}
我想解决了。
我的问题是我没有为数据源或委托分配输出。
一旦我这样做了,我就可以获得 table 来填充。
我希望有人能提供帮助,因为我正在尝试调试,但我在兜圈子。 我在 Parse.com 中有一个 table 并且可以成功查询和检索数据。 我用 println 做了一个测试,字符串的正确值显示在输出中。 我试图做的是将这些值放入 UITableView 中,但这让我走上了一些非常令人沮丧的道路(我仍在尽我所能地学习它,有时有些概念很难理解)。
我的最后一次尝试(参见下面的代码)我认为通过将值写入结构我可以像过去那样使用它,因为我可以看到我需要填充的值。我不认为这是正确的方法,但我认为它应该有效。
当我在其中放置断点时,我的代码甚至没有定义 table 视图 :( 我知道我错过了一些东西,但也许只需要一双新的眼睛来帮助我看到我错过了什么。 任何帮助将不胜感激:
@IBOutlet weak var navlabel: UILabel!
var TopicPassed:String!
var storedsentences=[getsentences]()
@IBOutlet weak var sentencetableview: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
navlabel.text = TopicPassed
var query = PFQuery(className:"TalkToMeSentences")
query.whereKey("Topic", equalTo:TopicPassed)
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]!, error: NSError!) -> Void in
if error == nil {
// query successful - display number of rows found
println("Successfully retrieved \(objects.count) sentences")
// print sentences found
for object in objects {
let retrievedsentences = object["Sentence"] as NSString
self.storedsentences = [getsentences(parsesentence: "\(retrievedsentences)")]
println("\(retrievedsentences) ")
}
self.sentencetableview.reloadData()
} else {
// Log details of the failure
println("Error: \(error) \(error.userInfo!)")
}
}
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return storedsentences.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell
var sentence : getsentences
// Configure the cell...
cell.accessoryType = UITableViewCellAccessoryType.DisclosureIndicator
cell.textLabel!.lineBreakMode = NSLineBreakMode.ByWordWrapping
sentence = storedsentences[indexPath.row]
cell.textLabel!.text = sentence.parsesentence
cell.textLabel?.numberOfLines = 0
return cell
}
我想解决了。
我的问题是我没有为数据源或委托分配输出。 一旦我这样做了,我就可以获得 table 来填充。