Julian Home

Life You Life

cocoapods git install 更快

首先你有vpn, 我用的是clashX 在配置里面 打开配置文件 config.yaml 添加 socks-port: 7891 #// socks5代理端口 port: 7892 #// http代理端口 在shell 里面执行 设定下 git config --global http.https://github.com.proxy socks5://127....

一个flutte调用native第三方库 plugin.

创建package 首先需要使用命令行创建 package flutter create --template=package PACKAGENAME 这行命令会创建一个名为PACKAGENAME的package项目,其中包含如下文件。 pubspec.yaml 包含了package所有元信息的文件,通过配置其中的参数对package进行信息设置。例如 name、description、v...

多态带参数问题 ,仿写 Masonry

日常开发中一定会遇到这种场景,在某个类中提供了这样一个方法: 1 + (void)doSomethingWithName:(NSString *)name configA:(ConfigA)configA configB:(ConfigB)configB configC:(ConfigC)configC; 复制代码这个方法通过四个参数name, configA, configB, conf...

iOS 代码格式化

Xcode 如何实现代码格式化 方案分2种: App Store 下载XCFormat ClangFormat 重点来描述下ClangFormat在Xcode中如何实现快捷化 简述: ClangFormat 是一个规范代码的工具 ClangFormat 支持的语言有:C/C++/Java/JavaScript/Objective-C/Prot...

zip

Swift 中提供的 zip 这个函数。这个 zip 函数可不是用来压缩文件的,其作用是将两个序列的元素,一一对应合并生成一个新序列 将两个数组合并成一个新的元组数组 1 2 3 4 let a = [1, 2, 3, 4, 5] let b = ["a", "b", "c", "d"] let c = zip(a, b).map { $0 } print(c) 由于 zip ...

swift 关联属性

1 2 3 4 5 6 7 8 9 10 private var key: Void? var title: String? { get { return objc_getAssociatedObject(self, &key) as? String } set { objc_setAs...

NSRegularExpression

常规方式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 struct RegexHelper { let regex: NSRegularExpression init(_ pattern: String) throws { try r...

Lazy

延时加载或延时初始化是一种在 iOS 中优化方案 OC 中: 保证初始化一次,节省内存分配和运行时耗费时间 1 2 3 4 5 6 7 8 9 - (UILabel *)tipLb { if (!_tipLb) { _tipLb = [[UILabel alloc] init]; _tipLb.textAlignment = NSTextAlignm...

GCD After

只适应一个work串行 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 typealias Task = () -> Void var closure: Task? let workItem = DispatchWorkItem { // execute closure?() } func dela...

局部Scope 代码块

隔离代码有效范围

OC 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -(void)loadView { UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; { UILabel *titleLabel = [[U...