gsa*_*nza 27 flickr uitableview ios
我正在参加iTunes U Stanford iOS Class,正在开展其中一项任务,以构建一个小小的Flickr应用程序.我收到一个错误,我似乎无法调试出现的错误
*断言失败 - [UITableView _configureCellForDisplay:forIndexPath:],/ SourceCache/UIKit_Sim/UIKit-2280.1/UITableView.m:5336 2012-08-03 10:59:24.596 Assignment 4 [4611:c07](null)libc ++ abi.dylib:终止调用抛出异常
我的tableviewcontroller的代码:
#import "PlacesPhotosTableViewController.h"
@interface PlacesPhotosTableViewController ()
@property (nonatomic) NSDictionary *placeToDisplay;
@property (nonatomic) NSArray *photosInPlace;
@end
@implementation PlacesPhotosTableViewController
@synthesize placeToDisplay = _placeToDisplay;
@synthesize photosInPlace = _photosInPlace;
- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self) {
// Custom initialization
}
return self;
}
- (id)init
{
self = [super init];
return self;
}
- (id)initWithPlace:(NSDictionary *)place
{
self = [self init];
if (self)
{
self.placeToDisplay = place;
}
return self;
}
- (NSArray *)photosInPlace
{
if (_photosInPlace == nil)
{
_photosInPlace = [FlickrFetcher photosInPlace:self.placeToDisplay maxResults:50];
}
return _photosInPlace;
}
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog([self.placeToDisplay valueForKeyPath:@"description._content"]);
// Uncomment the following line to preserve selection between presentations.
// self.clearsSelectionOnViewWillAppear = NO;
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem;
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
#pragma mark - Table view data source
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
#warning Incomplete method implementation.
// Return the number of rows in the section.
return [self.photosInPlace count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Photos";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
NSString *string = [[self.photosInPlace objectAtIndex:indexPath.row] valueForKeyPath:@"description._content"];
cell.textLabel.text = string;
return cell;
}
Run Code Online (Sandbox Code Playgroud)
jer*_*rts 67
CellIdentifier我打赌你cellForRowAtIndexPath回来了nil.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Photos";
/** NOTE: This method can return nil so you need to account for that in code */
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
// NOTE: Add some code like this to create a new cell if there are none to reuse
if(cell == nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
NSString *string = [[self.photosInPlace objectAtIndex:indexPath.row] valueForKeyPath:@"description._content"];
cell.textLabel.text = string;
return cell;
}
Run Code Online (Sandbox Code Playgroud)
这可能[UITableView _configureCellForDisplay:forIndexPath:]是失败的原因...因为cellForRowAtIndexPath返回一个空值然后configureCellForDisplay期待一个UITableViewCell.
| 归档时间: |
|
| 查看次数: |
30246 次 |
| 最近记录: |