2014-11-06 4 views
0

몇 가지 속성으로 클래스를 만들었습니다. 스토리 보드에는 tableview 컨트롤러가 있습니다. 클래스에서 테이블 뷰로 데이터를 전달하고 싶습니다. 각 셀에는 레이블이 있습니다. 데이터를 채우고 싶지만 배열에 성공하지 못했습니다. 저를 도와주세요.NSObject 데이터를 UITableViewCell에

그래서 전 특성을 가진 City 클래스가 있습니다. 속성 1, 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 

#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 

DACityCell.m는 어떻게 만들 수 있습니다 예를 들어 3 개 도시의 데이터를 탭에 넣습니다. 내 MainController에서보기?

+0

왜 두 클래스 모두에서 이러한 속성을 복제합니까? 더 나은 것은'DACityObject'를 셀에 전달하고 "here, this data"라고 말하는 것입니다. – trojanfoe

+0

너는 내게 초짜이기 때문에 나를 더 명확하게 대답 해줄 수 있니? :) – WinBoze

답변

4

dataArray (NSMutableArray) 말을 당신이 지금해야 할 일은 배열에 배치하는 것입니다,의는 이미 클래스 객체 DACityObject를 통해 3 개 데이터를 생성 한 가정 해 봅시다과 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; 
}