在控制器中声明类

时间:2012-12-29 23:38:41

标签: objective-c

我正在阅读一本Objective-C Fundamentals书,它正在引导我完成一个基本应用程序的构建。但是,它并不总是告诉我们该怎么做。有一次,它说

  

打开RootViewController.h并删除PropertyType枚举和RentalProperty结构的现有定义。用CTRentalProperty类替换它们。

好的,很容易找到它所引用的枚举和结构......

typedef enum PropertyType {

    Unit,
    TownHouse,
    Mansion
} PropertyType;

typedef struct {

    NSString *address;
    PropertyType type;
    double weeklyRentalPrice;

} RentalProperty;

但它究竟是什么意思(实际代码是什么时候)

  

用CTRentalProperty类替换它们

我是否只写

CTRentalProperty; 

可能不是。你能帮我理解作者所说的内容吗?我们已经制作了 CTRentalProperty.h CTRentalProperty.m 类/文件,但我不确定是否应该将代码从它们复制到控制器中。

3 个答案:

答案 0 :(得分:0)

不确定enum,但作者可能意味着这样的事情:

@interface CTRentalProperty : NSObject

@property(nonatomic, strong) NSString *address;
@property(nonatomic, assign) PropertyType type;
@property(nonatomic, assign) double weeklyRentalPrice;

@end

答案 1 :(得分:0)

可能意味着放

@interface CTRentalProperty : NSObject
{
    NSString *address;
    PropertyType type;
    double weeklyRentalPrice;
}
@end

代替CTRentalProperty.h定义struct。然后你需要把

@implementation CTRentalProperty

@end

进入CTRentalProperty.m

答案 2 :(得分:0)

在发现作者提供源代码后回答我自己的问题。虽然根据他在书中提供的说明,似乎没有意义。这是控制器应该是什么样子

#import <UIKit/UIKit.h>

@interface RootViewController : UITableViewController {
    NSDictionary *cityMappings;
    NSArray *properties;
}

@end