ios - NSObject 数据到 UITableViewCell

标签 ios objective-c uitableview nsobject

我创建了一个具有一些属性的类。在 Storyboard 中,我有一个 tableview Controller 。我想将数据从类传递到 TableView 。在每个单元格中,我都有一些标签。我想填充数据,但我没有成功使用数组。你能帮我么。

所以我有一个 City 类,其中包含 ex 的一些属性。 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 的 TableView 中?

最佳答案

假设您已经通过类对象 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;
}

关于ios - NSObject 数据到 UITableViewCell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26781683/

相关文章:

jquery - 在移动平台的 HTML/JS Web 应用程序中使用 LaTeX

objective-c - 实时gif解码的乐趣

iphone - 在 Container view 中使用 UITableView for forms - 如何访问表单字段?

ios - 如何添加不可移动的 UITableViewCells

iphone - iOS开发:我应使用XAuth验证Twitter用户的原因有哪些?

ios - UIPickerView pickerView :titleForRow:rowforComponent method not called

ios - iOS 13 上未调用 didConnectPeripheral 委托(delegate)

objective-c - @synchronized 不适用于 NSMutableArray

ios - 我可以在 Xcode 中更改背景颜色时保持 UI 元素可访问吗?

iphone - 未调用 UITableView 委托(delegate)和数据源方法