2014-11-06 46 views
0

我創建了一個具有一些屬性的類。在故事板中我有一個tableview控制器。我想將數據從類傳遞給tableview。在每個細胞中我都有一些標籤。我想填充數據,但我沒有成功與陣列。你能幫我麼。NSObject數據到UITableViewCell

所以我有一個城市類與一些屬性爲前。 property1,property2,這是標籤

#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個城市的數據並將其放入選項卡中在我的MainController中查看?

+0

爲什麼在這兩個類中複製這些屬性?更好的做法是將'DACityObject'傳遞給單元格,並說「在這裏使用這些數據」。 – trojanfoe 2014-11-06 14:29:50

+0

可以請你給我更清楚的答案,因爲我是新手:) – WinBoze 2014-11-06 14:31:47

回答

4

比方說,你已經通過類對象DACityObject創建了3個數據,你現在要做的就是將它們放置在一個數組說dataArray中(NSMutableArray),並呼籲他們在具有UITableView在類中的方法cellForRowAtIndexPath ,然後調用你自定義的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; 
} 
相關問題