知识碎片

Tree

命令行下展示目录结构的神器——tree,使用 brew install tree 来安装

使用 ll 作为 ls -l 的别名

1
2
3
4
5
6
cd ~
touch .bash_profile
echo "alias l='ls -alhF'" >>.bash_profile
echo "alias la='ls -AFh'" >>.bash_profile
echo "alias ll='ls -lhAF'" >>.bash_profile
source ~/.bash_profile

如何优雅地使用 KVO

使用 __kindof

如果以下代码不加 __kindof 就会产生 Warning

1
2
3
4
5
6
7
NSMutableArray<__kindof UIView *> *subviews = @[].mutableCopy;

[subviews addObject:[[UIView alloc] init]]; // Works
[subviews addObject:[[UIImageView alloc] init]]; // Also works

UIView *sameView = subviews[0]; // No problem
UIImageView *sameImageView = subviews[1]; // No complaints now!

预览 Github 的 html

在 html 的源地址前面添加 http://htmlpreview.github.io/? 即可

return 前执行

1
2
#define OnExit \
__strong void(^block)(void) __attribute__((cleanup(blockCleanUp), unused)) = ^

尾调用优化

iOS Bug 定位

  1. .dSYM + .app + .crash 的 UUID 必须一致

查看 app 的 UUID

dwarfdump –uuid XXX.app/XXX

https://www.cnblogs.com/ningxu-ios/p/4141783.html

  1. Tree
  2. 使用 ll 作为 ls -l 的别名
  3. 如何优雅地使用 KVO
  4. 使用 __kindof
  5. 预览 Github 的 html
  6. return 前执行
  7. 尾调用优化
  8. iOS Bug 定位