上下文
问题
以下是相关代码(我认为!)
class GeneralPostAreaController: UIViewController {
...
extension GeneralPostAreaController: UITableViewDataSource {
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return PostsCollection.postsFromParse.posts.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("PostCell") as! PostTableViewCell
cell.postImage.image = PostsCollection.postsFromParse.posts[indexPath.row].image
cell.postName.text = PostsCollection.postsFromParse.posts[indexPath.row].name
cell.postText.text = PostsCollection.postsFromParse.posts[indexPath.row].text
cell.loadAudio = PostsCollection.postsFromParse.posts[indexPath.row].audioObject.parseAudioData
return cell
}
}
这是我用来从服务器(Parse)获取数据的代码。请原谅可怕的数据结构,这是我的第一个应用程序!
class ParseQueryer: NSObject{
//HAVE TO RESTRUCTURE
var posts: [Post] = []
//this is not a very elegant way to reload table Data
func getPosts(selectedTableView: UITableView){
var query = PFQuery(className: "Post")
query.addDescendingOrder("createdAt")
query.limit = 10
query.findObjectsInBackgroundWithBlock {(result: [AnyObject]?, error: NSError?) -> Void in
self.posts = result as? [Post] ?? []
selectedTableView.reloadData()
for post in self.posts{
post.name = post["Name"] as? String
post.text = post["Text"] as? String
//println(post.text)
if let audioData = post["Audio"] as? PFFile {
audioData.getDataInBackgroundWithBlock({
(audioData: NSData?, error: NSError?) -> Void in
if (error == nil){
post.audioObject.parseAudioData = audioData
}
})
}
if let imgData = post["Photo"] as? PFFile {
imgData.getDataInBackgroundWithBlock({
(imageData: NSData?, error: NSError?) -> Void in
if (error == nil){
let image = UIImage(data: imageData!)
post.image = image
}
})
}
}
}
selectedTableView.reloadData()
我看了答案here,但这对我没有意义。
答案 0 :(得分:1)
所以static_assert
继承自UITableView
,因此您可以使用scrollview委托方法知道何时滚动到底部。
UIScrollView
答案 1 :(得分:0)
您可以通过此方法加载更多操作,因为表视图委托是滚动视图委托:
$(div).appendTo('body');
$("body div").find('.ps_desc').html('<h1></h1>');
答案 2 :(得分:0)
最好的方法是测试屏幕底部的一个点,并在用户滚动时使用此方法调用(zip
):
scrollViewDidScroll
测试屏幕底部附近的一个点,然后使用indexPath返回检查indexPath是否是最后一行,如果是,则添加行。