gpt4 book ai didi

ios - TableView 不显示来自 parse.com 的数据

转载 作者:行者123 更新时间:2023-11-29 03:05:02 24 4
gpt4 key购买 nike

大家好这里的初学者。我在 ViewController 中有一个 TableView 。单元格的内容将从 parse.com 获取。 (一个字符串)我已经放置了必要的框架并设置了一个类来解析一列和一些行。我可以点击模拟器中的单元格,当我在解析单元格中添加或删除新行时,我可以点击的单元格也会发生变化。但不知何故,表格变空了,没有显示标签。我没有错误或问题。这是代码:

ViewController.h

#import <UIKit/UIKit.h>
#import <Parse/Parse.h>
#import "TableCell.h"

@interface ViewController : UIViewController <UITableViewDelegate> {

NSArray *Event;
}
@property (weak, nonatomic) IBOutlet UITableView *newsTable;

@end

ViewController.m

#import "ViewController.h"
#import "TableCell.h"

@interface ViewController ()

@end

@implementation ViewController
@synthesize newsTable;


- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[self performSelector: @selector(retreiveFromParse)];

}

- (void) retreiveFromParse {
PFQuery *retrieveEvents = [PFQuery queryWithClassName:@"News"];
[retrieveEvents findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
Event = [[NSArray alloc] initWithArray:objects];

}
[newsTable reloadData];
}];
}

//*********************Setup table of folder names ************************

//get number of sections in tableview
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
// Return the number of sections.
return 1;
}

//get number of rows by counting number of folders
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return Event.count;
}

//setup cells in tableView
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

//setup cell
static NSString *CellIdentifier = @"EventCell";
TableCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

PFObject *tempObject = [Event objectAtIndex:indexPath.row];

cell.TitleLabel.text = [tempObject objectForKey:@"TitleLabel"];

return cell;
}


//user selects folder to add tag to
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"cell tapped");
}



- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

@end

最佳答案

一些更正 -

  1. 首先 - 为事件数组使用 @property 会更合适。
  2. 其次 - 使用小写的属性名称会更合适。
  3. 你的数组没有被保留(它是 nil),这就是你什么都看不到的原因。

所以,你应该:

将此添加到您的界面 -

  @property (strong, nonatomic) NSArray *events;

在调用 retreiveFromParse 之前,将其添加到您的 viewDidLoad 中

 - (void)viewDidLoad
{
[super viewDidLoad];
self.events = [NSArray array];
// Do any additional setup after loading the view, typically from a nib.
[self performSelector: @selector(retreiveFromParse)];
}

这应该有效。

顺便说一下Parse 有一个 TableViewController 类可以简化你的工作,看这里 - Parse PFQueryTableViewController

关于ios - TableView 不显示来自 parse.com 的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22874720/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com