2014-11-06 1 views
0

Я создал класс с некоторыми свойствами. В раскадровке у меня есть контроллер таблицы. Я хочу передать данные из класса в tableview. В каждой ячейке есть несколько ярлыков. Я хочу заполнить данные, но у меня нет успеха в массивах. Не могли бы вы мне помочь.Данные NSObject для UITableViewCell

Итак, у меня есть класс City с некоторыми свойствами для ex. property1, свойство2, которые являются этикетки

#import <Foundation/Foundation.h> 

@interface DACityObject : NSObject { 

    NSNumber *ID; 
    NSString *name; 
    NSNumber *temperature; 
    NSNumber *minimumTemperature; 
    NSNumber *maximumTemperature; 
    NSString *iconName; 
} 

@property (strong,nonatomic) NSNumber *ID; 
@property (strong,nonatomic) NSString *name; 
@property (strong,nonatomic) NSNumber *temperature; 
@property (strong,nonatomic) NSNumber *minimumTemperature; 
@property (strong,nonatomic) NSNumber *maximumTemperature; 
@property (strong,nonatomic) NSString *iconName; 

@end 

и .m файл

#import "DACityObject.h" 

@implementation DACityObject 

@synthesize ID,name,temperature,minimumTemperature,maximumTemperature,iconName; 



@end 

DACityCell.h

#import <UIKit/UIKit.h> 


@interface DACityCell : UITableViewCell 


@property (strong, nonatomic) IBOutlet UILabel *name; 
@property (strong, nonatomic) IBOutlet UILabel *temperature; 
@property (strong, nonatomic) IBOutlet UILabel *minimumTemperature; 
@property (strong, nonatomic) IBOutlet UILabel *maximumTemperature; 
@property (strong, nonatomic) IBOutlet UIImageView *iconName; 


@end 

DACityCell.m

#import "DACityCell.h" 

@implementation DACityCell 
@synthesize name,temperature,minimumTemperature,maximumTemperature,iconName; 

- (void)awakeFromNib { 


} 


- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { 
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; 
    if (self) { 
    } 
    return self; 
} 

- (void)layoutSubviews { 
    [super layoutSubviews]; 
    self.imageView.frame = CGRectMake(0,45,75,75); 
} 



@end 

Как я могу создать данные, например, 3 города и поместить их на вкладку le view в моем MainController?

+0

Зачем дублировать эти атрибуты в обоих классах? Лучше передать «DACityObject» в ячейку и сказать «здесь, используйте эти данные». – trojanfoe

+0

не могли бы вы дать мне более четкий ответ, потому что я новичок :) – WinBoze

ответ

4

Допустим, вы уже создали свои данные 3 с помощью объекта класса DACityObject, все, что вам нужно сделать сейчас, чтобы поместить их в массив, скажем, DataArray (NSMutableArray) и называть их в методе cellForRowAtIndexPath в своем классе, который имеет UITableView , а затем просто вызовите свою собственную ячейку tableview.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *cellIdentifier = @"CellIdentifier"; 

    // extract data here 
    DACityObject *dataObject = [dataArray objectAtIndex:indexPath.row]; 

    DACityCell *cell = (DACityCell *)[tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 
    if (cell == nil) 
    { 
     NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"DACityCell" owner:self options:nil]; 
     cell = [nib objectAtIndex:0]; 
    } 

    cell.name.text = dataObject.name; 
    cell.temperature.text = dataObject.temperature; 
    . 
    . 
    .... etc. 

    return cell; 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^