iOS开发系列--详细介绍数据存取

2020-01-18 17:36:10王旭

KCStatus.h


//
// KCStatus.h
// UITableView
//
// Created by Kenshin Cui on 14-3-1.
// Copyright (c) 2014年 Kenshin Cui. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "KCUser.h"

@interface KCStatus : NSObject

#pragma mark - 属性
@property (nonatomic,strong) NSNumber *Id;//微博id
@property (nonatomic,strong) KCUser *user;//发送用户
@property (nonatomic,copy) NSString *createdAt;//创建时间
@property (nonatomic,copy) NSString *source;//设备来源
@property (nonatomic,copy) NSString *text;//微博内容

#pragma mark - 动态方法

/**
 * 初始化微博数据
 *
 * @param createAt    创建日期
 * @param source     来源
 * @param text      微博内容
 * @param user      发送用户
 *
 * @return 微博对象
 */
-(KCStatus *)initWithCreateAt:(NSString *)createAt source:(NSString *)source text:(NSString *)text user:(KCUser *)user;

/**
 * 初始化微博数据
 *
 * @param profileImageUrl 用户头像
 * @param mbtype     会员类型
 * @param createAt    创建日期
 * @param source     来源
 * @param text      微博内容
 * @param userId     用户编号
 *
 * @return 微博对象
 */
-(KCStatus *)initWithCreateAt:(NSString *)createAt source:(NSString *)source text:(NSString *)text userId:(int)userId;
/**
 * 使用字典初始化微博对象
 *
 * @param dic 字典数据
 *
 * @return 微博对象
 */
-(KCStatus *)initWithDictionary:(NSDictionary *)dic;

#pragma mark - 静态方法
/**
 * 初始化微博数据
 *
 * @param createAt    创建日期
 * @param source     来源
 * @param text      微博内容
 * @param user      发送用户
 *
 * @return 微博对象
 */
+(KCStatus *)statusWithCreateAt:(NSString *)createAt source:(NSString *)source text:(NSString *)text user:(KCUser *)user;
/**
 * 初始化微博数据
 *
 * @param profileImageUrl 用户头像
 * @param mbtype     会员类型
 * @param createAt    创建日期
 * @param source     来源
 * @param text      微博内容
 * @param userId     用户编号
 *
 * @return 微博对象
 */
+(KCStatus *)statusWithCreateAt:(NSString *)createAt source:(NSString *)source text:(NSString *)text userId:(int)userId;

@end

KCStatus.m


//
// KCStatus.m
// UITableView
//
// Created by Kenshin Cui on 14-3-1.
// Copyright (c) 2014年 Kenshin Cui. All rights reserved.
//

#import "KCStatus.h"

@implementation KCStatus

-(KCStatus *)initWithDictionary:(NSDictionary *)dic{
  if (self=[super init]) {
    [self setValuesForKeysWithDictionary:dic];
    self.user=[[KCUser alloc]init];
    self.user.Id=dic[@"user"];
  }
  return self;
}

-(KCStatus *)initWithCreateAt:(NSString *)createAt source:(NSString *)source text:(NSString *)text user:(KCUser *)user{
  if (self=[super init]) {
    self.createdAt=createAt;
    self.source=source;
    self.text=text;
    self.user=user;
  }
  return self;
}

-(KCStatus *)initWithCreateAt:(NSString *)createAt source:(NSString *)source text:(NSString *)text userId:(int)userId{
  if (self=[super init]) {
    self.createdAt=createAt;
    self.source=source;
    self.text=text;
    KCUser *user=[[KCUser alloc]init];
    user.Id=[NSNumber numberWithInt:userId];
    self.user=user;
  }
  return self;
}

-(NSString *)source{
  return [NSString stringWithFormat:@"来自 %@",_source];
}

+(KCStatus *)statusWithCreateAt:(NSString *)createAt source:(NSString *)source text:(NSString *)text user:(KCUser *)user{
  KCStatus *status=[[KCStatus alloc]initWithCreateAt:createAt source:source text:text user:user];
  return status;
}

+(KCStatus *)statusWithCreateAt:(NSString *)createAt source:(NSString *)source text:(NSString *)text userId:(int)userId{
  KCStatus *status=[[KCStatus alloc]initWithCreateAt:createAt source:source text:text userId:userId];
  return status;
}
@end