TEL:400-8793-956
当前位置:程序、服务器

如何将数据从 Parse 检索到 iOS 9 上的表视图中?

提问者: 近期获赞: 浏览人数: 发布时间:2021-06-02 10:33:09

问:我已经在这个应用程序上工作了一段时间,但我正面临一个我不知道如何解决的问题。我正在使用 Parse 进行数据管理。我可以一一读取来自不同类的数据,但现在我想将我的数据列出到表视图中。我已经尝试了很多选择,但我无法解决这个问题。

 
我如何拥有可以存储一些可以在任何函数中使用的数据的全局变量?如何根据我在 Parse 查询中执行的计数函数设置行数?如何将单元格标题设置为 Parse 中的对象标题?
 
你能指导我吗?提前致谢。我在下面分享我的代码:
 
import  UIKit 
import  Parse 
class faFirstTableViewController : UITableViewController { var totalRows = 3 var objectTwo = [ "arash" ] override func viewDidLoad () { super . viewDidLoad ()让query = PFQuery ( className : "TestObject" )查询。whereKey ( "foo" , equalTo : "bar" )
 
        查询。findObjectsInBackgroundWithBlock 
{ ( objects : [ PFObject ]?, error : NSError ?) -> Void in if error == nil { // 查找成功。打印(“成功检索\(对象!。计数)分数。” )//如果让对象=对象为[ PFObject ] ,对找到的对象做些什么?{为对象            
 
                          在 对象
{打印(对象。OBJECTID )自我。对象二。追加(对象。OBJECTID !)}自我。totalRows =对象。count print ( self . totalRows ) } } else { // 记录失败的详细信息print ( "Error: \( error ! ) \( error !. userInfo )                        
 
                     " ) 
} } // 取消注释以下行以保留演示文稿之间的选择// self.clearsSelectionOnViewWillAppear = false // 取消注释以下行以在此视图控制器的导航栏中显示编辑按钮。// self.navigationItem.rightBarButtonItem = self.editButtonItem()}覆盖FUNC didReceiveMemoryWarning (){超级。didReceiveMemoryWarning ()//处置可重新创建任何资源} // MARK:-表视图数据源倍率FUNC numberOfSectionsInTableView (                
 
      tableView :  UITableView )  ->  Int  { 
// #warning 不完整实现,返回节数return 0 } override func tableView ( tableView : UITableView , numberOfRowsInSection section : Int ) -> Int { // #warning 不完整实现,返回数行返回totalRows } override func tableView ( tableView : UITableView , cellForRowAtIndexPath        
 
         indexPath :  NSIndexPath )  ->  UITableViewCell  { 
let Cell : faFirstTableViewCell = tableView 。dequeueReusableCellWithIdentifier ( "Cell" )为! faFirstTableViewCell单元格。细胞标题。text = objectTwo [ indexPath . row ] as String return Cell }              
 
 
答:首先,为了在表格视图中显示数据,它必须至少有一个部分。因此,在您的情况下numberOfSectionsInTableView应该返回1。
 
覆盖 func  numberOfSectionsInTableView ( tableView :  UITableView )  ->  Int  { 
return 1 }     
 
其次,numberOfRowsInSection应该返回数据源中的对象数,在您的情况下称为objectTwo. 无需使用名为totalRows. 这在此处尤为重要,因为您使用 3 对其进行初始化,但此时您的数据源仅包含一个字符串,如果数组中的对象少于三个,则您的应用程序将崩溃。确保行数与您的数据源保持同步,最简单的方法是直接返回您的数据源的计数。
 
覆盖 func  tableView ( tableView :  UITableView ,  numberOfRowsInSection 部分:  Int )  ->  Int  { 
return objectTwo . 计数}     
 
第三,每当您的数据源发生变化时,您都必须手动更新我们的 tableview。当您从 Parse 异步加载数据时,请self.tableView.reloadData()在收到对象并将它们附加到objectTwo.
 
由于我不知道您的自定义单元格是什么样子,我只是假设您在cellForRowAtIndexPath.
 
表视图/集合视图是 iOS 中一个巨大而重要的概念。我真的建议您熟悉它,尽可能多地观看教程,因为它们也可能非常棘手:)
 
最后一件事。请确保遵循 Swift 命名约定:
 
// 类、结构、枚举、协议总是以大写开头,没有前缀 swift:
class  faFirstTableViewController  ...  // 没有
class  FirstTableViewController  ...  // 是
// 变量、常量、类属性总是以小写开头... Cell 。细胞标题。文本... // 没有...单元格。单元格标题。文本... // 是的
上一篇: 设计网站时应该问客户哪些问题
下一篇: 关于网站边框颜色