w h y ? y o u a r e h e r e ?

要学Flutter必须先学Dart 因为开发Flutter用的就是Dart语言 Dart官网 https://dart.dev/ 下载地址 https://dart.dev/get-dart 命令安装 12brew tap dart-lang/dartbrew install dart 下载Flut ...
阅读全文 »

在Swift函数参数前面加上_调用的时候就不会显示参数的名字了 例如 123456789func add(num : NSInteger) -> NSInteger { return num + 1}func minus(_ num : NSInteger) -> ...
阅读全文 »

新建Swift文件 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747 ...
阅读全文 »

说到Foundation不得不提Cocoa 因为Foundation只是Cocoa的一个框架 还有其他的框架 比如UIKit 只要NS开头的说明都是Foundation框架里的 只要UI开头的都是UIKit框架里的 这只是手机上经常用的两个框架 电脑上经常用的两个框架是Foundation 和App ...
阅读全文 »

仅编译当前架构的版本 Build Active Architecture Only改成NO 关闭调试信息加入到可执行文件中 将Debug Information Format改为DWARF之后 会导致在Debug窗口无法查看相关类类型的成员变量的值 当需要查看这些值时 可以将Debug Inform ...
阅读全文 »

objc_msgSend的具体流程如下: 通过isa指针找到所属类 查找类的cache列表 为什么会有cache列表呢 因为cache列表会提高效率 经常用的方法放到一个一个表里查的更快 如果没有则下一步 查找类的方法列表 如果能找到与选择子名称相符的方法, 就跳至其实现代码 找不到 就沿着继承体系 ...
阅读全文 »

UIView的继承结构为UIResponder : NSObject UIResponder是用来响应事件的,也就是UIView可以响应用户事件 CALayer的继承结构为NSObject 直接从NSObject继承 因为缺少了UIResponder类 所以CALayer不能响应任何用户事件 CAL ...
阅读全文 »

Swift有一个好处就是不用在每行结尾加;号 但是一行有多个语句是就要加上; 但当你在同一行书写多条语句时,必须用分号隔开: let定义常量 var定义变量 lazy延迟存储属性必须用var var定义变量带get和set方法的叫计算属性 override重写属性的时候也要加上 final的类不能被 ...
阅读全文 »

生成不加密的私钥 12openssl genrsa -out rsa_private_key.pem 1024openssl pkcs8 -in rsa_private_key.pem -out rsa_private_key_pkcs8.pem -nocrypt -topk8 生成对应私钥的公钥 ...
阅读全文 »