详解iOS开发中UItableview控件的数据刷新功能的实现

2020-01-14 17:46:37王振洲

}
//隐藏状态栏
-(BOOL)prefersStatusBarHidden
{
    return YES;
}
@end


四、把常用的代码封装成一个带参数的宏

 

封装方法和代码:

复制代码
//
//  Global.h
//  10-英雄展示(数据刷新)
//
//  Created by apple on 14-5-29.
//  Copyright (c) 2014年 itcase. All rights reserved.
//

 

#ifndef _0____________Global_h
#define _0____________Global_h

/**
 *  自定义带参数的宏
 */
#define     YYinitH(name)   -(instancetype)initWithDict:(NSDictionary *)dict;
+(instancetype)herosWithDict:(NSDictionary *)dict;


#define     YYinitM(name)  -(instancetype)initWithDict:(NSDictionary *)dict
{
    if (self=[super init]) {
        [self setValuesForKeysWithDictionary:dict];
    }
    return self;
}

+(instancetype)herosWithDict:(NSDictionary *)dict
{
    return [[self alloc]initWithDict:dict];
}

#endif


以后在需要使用的时候,只需要使用宏即可。

 

如在YYheros.m文件中使用YYinitM(hero)这一句代码可以代替下面的代码段:

复制代码
-(instancetype)initWithDict:(NSDictionary *)dict
{
    if (self=[super init]) {
//        self.name=dict[@"name"];
//        self.icon=dict[@"icon"];
//        self.intro=dict[@"intro"];
        
        //使用KVC
        [self setValuesForKeysWithDictionary:dict];
    }
    return self;
}

 

+(instancetype)herosWithDict:(NSDictionary *)dict
{
    return [[self alloc]initWithDict:dict];
}


五、注意点

 

1.刷新数据的两个步骤: