У меня есть класс LearnfestItem.h
:Доступ свойств из объекта в NSMutableArray не работает
#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
, который создает NSMutableArray
из LearnfestItems
в пределах cellForRowAtIndexPath
метод:
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
я хочу получить LearnfestItem
от NSMutableArray
я это сделать по телефону:
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;
Когда я пытаюсь получить доступ к своим LearnfestItem's
свойства в cellForRowAtIndexPath
. Все, что я получаю, равно null ... и т. Д. В других методах делегата в таблице. Может ли кто-нибудь определить, что я делаю неправильно? Спасибо
Вы инициализируетесь NSMutableArray? – iPhone
Да, я вызываю его в 'viewDidLoad' -' self.learnfestItemObjects = [[NSMutableArray alloc] init]; ' – cwiggo
Попробуйте следующий код [self.learnfestItemObjects addObject: createLearnfestItem]; – iPhone