大家好。 我在ViewController中有一个表视图。单元格的内容将从parse.com获取。 (一个字符串)我已经放置了必要的框架,并在一个包含一列和一些行的parse中设置了一个类。 我可以在模拟器中点击单元格,当我在解析中添加或删除新行时,我可以点击的单元格也会更改。 但不知何故,表变空,没有标签显示。我没有错误或问题。 这是代码:
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
答案 0 :(得分:1)
几乎没有更正 -
所以,你应该:
将此添加到您的界面 -
@property (strong, nonatomic) NSArray *events;
在致电retreiveFromParse
- (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