版本記錄
版本號(hào) | 時(shí)間 |
---|---|
V1.0 | 2018.03.28 |
前言
iOS圈內(nèi)有幾個(gè)人大家基本都知道碰辅,比如說王巍递瑰、唐巧,還有YYKit框架的作者現(xiàn)任職于滴滴的郭曜源 - ibireme等奏寨。這里有一篇唐巧對(duì)他的專訪,還有他的 GitHub - Yaoyuan 和 博客鹰服,這里貼出來框架YYKit 框架病瞳。接下來幾篇我們就一起來看一下這個(gè)框架。感興趣的可以看上面寫的幾篇悲酷。
1. YYKit源碼探究(一) —— 基本概覽
2. YYKit源碼探究(二) —— NSString分類之Hash(一)
3. YYKit源碼探究(三) —— NSString分類之Encode and decode(二)
4. YYKit源碼探究(四) —— NSString分類之Drawing(三)
5. YYKit源碼探究(五) —— NSString分類之Regular Expression(四)
6. YYKit源碼探究(六) —— NSString分類之NSNumber Compatible(五)
7. YYKit源碼探究(七) —— NSString分類之Utilities(六)
8. YYKit源碼探究(八) —— NSNumber分類(一)
9. YYKit源碼探究(九) —— UIFont分類之架構(gòu)分析和Font Traits(一)
10. YYKit源碼探究(十) —— UIFont分類之Create font(二)
11. YYKit源碼探究(十一) —— UIFont分類之Load and unload font(三)
12. YYKit源碼探究(十二) —— UIFont分類之Dump font data(四)
13. YYKit源碼探究(十三) —— UIImage分類之框架結(jié)構(gòu)和Create image部分(一)
14. YYKit源碼探究(十四) —— UIImage分類之Image Info(二)
15. YYKit源碼探究(十五) —— UIImage分類之Modify Image(三)
16. YYKit源碼探究(十六) —— UIImage分類之Image Effect(四)
17. YYKit源碼探究(十七) —— UIImageView分類之架構(gòu)和image部分(一)
18. YYKit源碼探究(十八) —— UIImageView分類之highlight image部分(二)
19. YYKit源碼探究(十九) —— UIScreen分類(一)
20. YYKit源碼探究(二十) —— UIScrollView分類(一)
21. YYKit源碼探究(二十一) —— UITableView分類(一)
22. YYKit源碼探究(二十二) —— UITextField分類(一)
23. YYKit源碼探究(二十三) —— UIView分類(一)
24. YYKit源碼探究(二十四) —— UIPasteboard分類(一)
25. YYKit源碼探究(二十五) —— UIGestureRecognizer分類(一)
26. YYKit源碼探究(二十六) —— UIDevice分類框架及Device Information(一)
27. YYKit源碼探究(二十七) —— UIDevice分類之Network Information(二)
回顧
上一篇主要介紹了Network Information
分類套菜,這一篇主要看一下Disk Space
部分。
API 文檔
下面我們就看一下API接口设易。
/// Total disk space in byte. (-1 when error occurs)
@property (nonatomic, readonly) int64_t diskSpace;
/// Free disk space in byte. (-1 when error occurs)
@property (nonatomic, readonly) int64_t diskSpaceFree;
/// Used disk space in byte. (-1 when error occurs)
@property (nonatomic, readonly) int64_t diskSpaceUsed;
下面我們就看一下這個(gè)API的詳細(xì)情況逗柴。
1. @property (nonatomic, readonly) int64_t diskSpace;
方法實(shí)現(xiàn)
該屬性的作用就是獲取設(shè)備的磁盤空間。
- (int64_t)diskSpace {
NSError *error = nil;
NSDictionary *attrs = [[NSFileManager defaultManager] attributesOfFileSystemForPath:NSHomeDirectory() error:&error];
if (error) return -1;
int64_t space = [[attrs objectForKey:NSFileSystemSize] longLongValue];
if (space < 0) space = -1;
return space;
}
2. @property (nonatomic, readonly) int64_t diskSpaceFree;
該屬性的作用就是獲取設(shè)備的可用磁盤空間顿肺。
方法實(shí)現(xiàn)
- (int64_t)diskSpaceFree {
NSError *error = nil;
NSDictionary *attrs = [[NSFileManager defaultManager] attributesOfFileSystemForPath:NSHomeDirectory() error:&error];
if (error) return -1;
int64_t space = [[attrs objectForKey:NSFileSystemFreeSize] longLongValue];
if (space < 0) space = -1;
return space;
}
3. @property (nonatomic, readonly) int64_t diskSpaceUsed;
該屬性的作用就是獲取設(shè)備使用的空間戏溺。
方法實(shí)現(xiàn)
- (int64_t)diskSpaceUsed {
int64_t total = self.diskSpace;
int64_t free = self.diskSpaceFree;
if (total < 0 || free < 0) return -1;
int64_t used = total - free;
if (used < 0) used = -1;
return used;
}
后記
本篇主要介紹了
Disk Space
部分,感興趣的可以給一個(gè)關(guān)注和點(diǎn)贊屠尊,謝謝~~~