对iOS开发的一些个人想法

1、在iOS开发过程中,最常用到的比如UILabel、UIbutton...... 我们可以写一个公共类方法,在这个方法中设置好基本属性,当每次用的时候,就可以一句话调用,只做少量的代码添加就可以了。

//UIButton
+(UIButton *)publicCreatButtonWithTitleTextFontSize:(CGFloat)textFontSize roundSize:(CGFloat)roundSize backGroundColor:(UIColor *)backGroundColor{
    UIButton *button = [[UIButton alloc]init];
    button.layer.cornerRadius = roundSize;
    button.clipsToBounds = YES;
    button.titleLabel.font = [UIFont systemFontOfSize:textFontSize];
    button.backgroundColor = backGroundColor;
    return button;
}

2、网络请求的方法,一定要封装在一起,因为网络请求具有极强的公共属性,很多地方都会调用网络请求类GET、POST、DELETE、PUT等,提取相同属性封装起来。

//GET请求
+(id)GETURLSplice:(NSString *)urlSplice Parameters:(NSString *)parameters HTTPHeaderKey:(NSArray *)httpHeaderKey HTTPHeaderValue:(NSArray *)httpHeaderValue
          completionHandler:(void (^)(id responseObjectmodel ,NSError *error ,NSString *statusCode ,NSString *status ,NSString *code ,NSString *message))completionHandler{
    NSString *url = [self urlParameters:parameters urlSplice:urlSplice];
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    //设置返回数据的格式
    manager.responseSerializer = [AFHTTPResponseSerializer serializer];
    //请求头
    NSString *strq= [NSString stringWithFormat:@"%@%@%.0f%@%@",@"GET",url,[[NSDate date] timeIntervalSince1970],@"0",App_Secret];
    [manager.requestSerializer setValue:[self sha1:strq] forHTTPHeaderField:@"sign"];
    [manager.requestSerializer setValue:user_Token forHTTPHeaderField:@"access-token"];
    
    NSString *str=[url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    return [manager GET:str parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        completionHandler(resultModel,nil,nil,nil,nil,nil);
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
      completionHandler(nil,error,statusCode,erromodel.status,erromodel.code,erromodel.message);
    }];
}

3、代码文件结构要分明,文件层次有很多方法,因人而异,因项目而异,因各种状况而异,下面我把我的文件分法展示出来(我的文件有中文,显得很low,但是自己看的时候查找内容很方便)。

对iOS开发的一些个人想法_第1张图片
文件分层
目前先写这么多,以后再补充

你可能感兴趣的:(对iOS开发的一些个人想法)