Skip to content

ZFSessionModel优化及部分建议 #5

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
haifenghuang opened this issue Jul 23, 2016 · 1 comment
Open

ZFSessionModel优化及部分建议 #5

haifenghuang opened this issue Jul 23, 2016 · 1 comment

Comments

@haifenghuang
Copy link

看了一下代码,认为有可以优化的地方,具体如下:

  1. ZFSessionModel.h中,calculateFileSizeInUnitcalculateUnit两个方法改成类方法
  2. ZFSessionModel.m中,具体实现如下:
#define kZFGBSize  (1024 * 1024 * 1024)
#define kZFMBSize  (1024 * 1024)

+ (float)calculateFileSizeInUnit:(unsigned long long)contentLength
{
    if(contentLength >= kZFGBSize)       { return (float) (contentLength / (float)kZFGBSize); }
    else if (contentLength >= kZFMBSize) { return (float) (contentLength / (float)kZFMBSize); }
    else if (contentLength >= 1024)      { return (float) (contentLength / (float)1024); }
    else                                 { return (float) (contentLength); }
}

+ (NSString *)calculateUnit:(unsigned long long)contentLength
{
    if(contentLength >= kZFGBSize)      { return @"GB"; }
    else if(contentLength >= kZFMBSize) { return @"MB"; }
    else if(contentLength >= 1024)      { return @"KB"; }
    else                                { return @"B";  }
}

同时,个人认为DownloadState枚举最好更改为如下,以防止名称冲突:

typedef NS_ENUM(NSInteger, ZFDownloadState){
    ZFDownloadStateStart = 0,     /** 下载中 */
    ZFDownloadStateSuspended,     /** 下载暂停 */
    ZFDownloadStateCompleted,     /** 下载完成 */
    ZFDownloadStateFailed         /** 下载失败 */
};
@renzifeng
Copy link
Owner

谢谢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants