【发布时间】:2015-05-14 11:14:30
【问题描述】:
我有课程LearnfestItem.h:
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface LearnfestItem : NSObject
@property (strong, nonatomic) NSString * itemId;
@property (strong, nonatomic) NSString * itemTitle;
@property (strong, nonatomic) NSString * itemDescription;
@property (strong, nonatomic) NSString * itemContent;
@property (strong, nonatomic) NSString * itemType;
@property (strong, nonatomic) UIImage * itemImage;
@property (strong, nonatomic) NSDate * itemRegistered;
-(id)initWithData:(NSDictionary *)data andImage:(UIImage *)image;
@end
&Object.m:
#import "LearnfestItem.h"
#import "Defaults.h"
@implementation LearnfestItem
-(id)init
{
self = [self initWithData:nil andImage:nil];
return self;
}
-(id)initWithData:(NSDictionary *)data andImage:(UIImage *)image
{
self = [super init];
self.itemId = data[ITEM_ID];
self.itemTitle = data[ITEM_TITLE];
self.itemDescription = data[ITEM_DESCRIPTION];
self.itemContent = data[ITEM_CONTENT];
self.itemType = data[ITEM_TYPE];
self.itemImage = image;
self.itemRegistered = data[ITEM_REGISTERED];
return self;
}
@end
在我的UIViewController 中,我有一个UITableView,它在cellForRowAtIndexPath 方法中创建NSMutableArray 的LearnfestItems:
LearnfestItem * createLearnfestItem = [[LearnfestItem alloc] initWithData:learnfestItemDictionary andImage:learnfestItemImage];
NSLog(@"Insert learnfest item with id: %@ at index %li", createLearnfestItem.itemId, (long)row);
[self.learnfestItemObjects insertObject:createLearnfestItem atIndex:row];
在didSelectRowAtIndexPath 我想从NSMutableArray 接收LearnfestItem 我通过调用来做到这一点:
self.selectedLearnfestItem = [self.learnfestItemObjects objectAtIndex:indexPath.row];
然后我想将它发送到另一个视图控制器以呈现我在prepareForSegue segement 中执行此操作的数据:
LearnfestItemViewController * learnfestVC = [segue destinationViewController];
NSLog(@"Sending learnfest item with id: %@", self.selectedLearnfestItem.itemId);
learnfestVC.item = self.selectedLearnfestItem;
当我尝试访问cellForRowAtIndexPath 中的LearnfestItem's 属性时。我得到的只是空......等等在我的其他表视图委托方法中......有人能发现我做错了什么吗?谢谢
【问题讨论】:
-
你初始化NSMutableArray了吗?
-
是的,我叫它
viewDidLoad-self.learnfestItemObjects = [[NSMutableArray alloc] init]; -
试试下面的代码 [self.learnfestItemObjects addObject:createLearnfestItem];
-
@iPhone 不起作用,因为我需要稍后从数组索引中检索对象。
-
@Chris 您是否检查过您作为参数转发的字典是否具有有效的数据内容?否则源代码看起来不错。
标签: ios objective-c iphone uitableview nsobject