设计模型:
微博用户包含:
姓名、微博号码、密码、头像、性别、手机、生日
微博包含:微博内容、微博配图、发送时间、微博发送人、转发的微博、被评论数、被转发数
User.h
#import <Foundation/Foundation.h>
typedef enum {
SexMan, //男
SexWomen //女
}Sex;
typedef struct {
int year;
int month;
int day;
}Date;
// 姓名、微博号码、密码、头像、性别、手机、生日
@interface User : NSObject
@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSString *account;
@property (nonatomic, retain) NSString *password;
//http://weibo.com/a.png - URL
@property (nonatomic, retain) NSString *icon;
@property (nonatomic, assign) Sex sex;
@property (nonatomic, retain) NSString *phone;
@property (nonatomic, assign) Date date;
@end
User.m
#import "User.h"
@implementation User
- (void)dealloc
{
[_name release];
[_account release];
[_password release];
[_icon release];
[_phone release];
[super dealloc];
}
@end
Status.h
#import <Foundation/Foundation.h>
#import "User.h"
// 微博内容、微博配图、发送时间、微博发送人、转发的微博、被评论数、被转发数
@interface Status : NSObject
@property (nonatomic, retain) NSString *text;
@property (nonatomic, retain) NSString *icon;
// 从1970-01-01 00:00:00 开始,一共度过的多少毫秒(time_t = long)
@property (nonatomic, assign) time_t time;
@property (nonatomic, retain) User *user;
@property (nonatomic, retain) Status *retweetStatus;
@property (nonatomic, assign) int commentsCount;
@property (nonatomic, assign) int retweetsCount;
@end
Status.m
#import "Status.h"
@implementation Status
- (void)dealloc
{
[_text release];
[_icon release];
[_user release];
[_retweetStatus release];
[super dealloc];
}
@end
main.m
#import <Foundation/Foundation.h>
#import "User.h"
#import "Status.h"
int main(int argc, const char * argv[])
{
// 新建2个用户
User *u = [[User alloc] init];
u.name = @"2B";
User *u2 = [[User alloc] init];
u2.name = @"傻B";
// 新建2条微博
Status *s = [[Status alloc] init];
s.text = @"今天天气真好!";
s.user = u;
Status *s2 = [[Status alloc] init];
s2.text = @"今天天气真的很好!";
s2.retweetStatus = s;
s2.user = u2;
[u release];
[u2 release];
[s release];
[s2 release];
return 0;
}