自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 iOS 利用dSYM定位crash

What is dSYM ?xCode 的每一次编译都会生成一个dsym文件,在其内部存储了16进制函数地址的映射。在App实际执行的二进制文件中,是通过地址来调用方法,所以在App Crash 的时候,第三方工具会抓到函数崩溃调用栈。通过对应的dsym 文件就可以找到对应的崩溃地址。具体怎么使用,看集成哪家的SDK,去官方文档看怎么查看崩溃信息。How to find dSYM ?...

2019-03-29 17:42:47 562

原创 iOS中的死循环

关于死循环 自己方法里面调用自己在 vc 中的 viewDidLoad 方法中调用 [self viewDidLoad] 会导致程序崩溃。原因是: 内存溢出。函数调用栈,函数调用的时候,sp 栈顶指针寄存器减对应的内存空间,栈内存开启对应的内存空间,函数调用完毕之后,sp 再加回去,栈内存释放对应的内存空间。所以,如果是这样方式调用的话,第一函数不会返回,栈内存不会释放。第二是,一...

2019-03-29 17:41:19 985

原创 http和https的区别 与 SSL/TLS协议运行机制的概述

http和https的区别 与 SSL/TLS协议运行机制的概述参考11 http 是不使用的SSL/TSL的通信通道窃听风险:第三方获取通信内容篡改风险:修改通信内容冒充风险:冒充他人身份参与通信2 SSL/TSL 协议应运而生客户端先向服务器端索要公钥,然后用公钥加密信息,服务器收到密文后,用自己的私钥解密。如何保证公钥不被篡改 ?解决方法:将公钥放在数字证书中。只要...

2019-03-29 17:30:46 440

原创 iOS 使用fastlane自动化打包步骤

iOS 使用fastlane 自动打包步骤!参考1 查看ruby版本信息 本机是否安装rubyruby -v2 安装xcode命令行工具 点击同意即可xcode-select --install3 安装fastlane键入如下命令sudo gem install fastlane -NV4 使用1 打开终端 cd 进入到要打包的项目下2 执行fastlane...

2019-03-28 16:47:51 1775

原创 RAC rac_liftSelector

RAC rac_liftSelector主要是用于线程的同步- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. // rac_liftSelector // 类似于dispa...

2019-03-28 11:11:23 831

原创 5- RAC 集合 RACTuple RACSequence

RAC 集合 RACTuple RACSequence // 0 RACTuple 就是一个数组 /* RACTuple 就是一个数组 */ RACTuple *tp1 = [RACTuple tupleWithObjects:@"5",@5,@1, nil]; RACTuple *tp2 = [RACTuple tupleWithOb...

2019-03-28 10:48:12 283

原创 4 RACMulticastConnection 连接类

# RACMulticastConnection信号被多次订阅如果一个信号多次被订阅,那么代码块代码会多次被执行。```objective-c // 创建信号 RACSignal *sg1 = [RACSignal createSignal:^RACDisposable * _Nullable(id<RACSubscriber> _Nonnull su...

2019-03-28 09:51:33 269

原创 3-RACSignal 常用方法

RACSingal的常用方法一 基本使用1map // 0 创建信号提供者 // RACSubject,既能发送信号,又能订阅信号 // 多用于代理,相当于OC里的delegate或者回调block RACSubject *subject = [RACSubject subject]; // 1 绑定信号 RACSignal *bindSign...

2019-03-27 17:53:33 598

原创 2-RACommand

RACommandRACCommand 就是命令 // RACCommand 就是命令 // 0 创建一个CMD 穿进去一个用于构建RACSignal的Block参数来初始化RACommand RACCommand *cmd = [[RACCommand alloc]initWithSignalBlock:^RACSignal * _Nonnull(id _N...

2019-03-27 15:53:44 329

原创 1-RAC基础

1 安装pod ‘ReactiveObjC’RAC 其实大大减少了代码量2 基本使用 // 0 RAC 中最为常见的类 信号类 /* RACSignal:信号类 1.通过RACSignal 创建1个信号(默认:冷信号) 2.通过订阅者,订阅信号信号(变成:热信号) 3.发送信号 */ // 创建...

2019-03-26 17:59:12 252

原创 11-协议

import UIKitvar str = "Hello, playground"// 1 协议// 类 和 结构体 和 枚举可以声明遵守某一个协议,并且提供该协议所遵守的属性和方法// 格式如下//protocol 协议名{// // 协议内容//}// 2 协议可以要求其遵守者实现某些方法实例方法或者静态方法protocol Figure{ func ...

2019-03-26 14:19:00 259

原创 iOS12 UITabbar Item 向上漂移错位的bug

[[UITabBar appearance] setTranslucent:NO];加此行代码 完美解决此bug

2019-03-22 16:27:28 331

原创 xCode 开发快捷键

Ctrl + CMD + 右箭头返回上一个编辑的界面Ctrl + CMD + 左箭头返回后一个编辑的界面CMD + Option + 左箭头区域代码折叠CMD + Option + 右箭头区域代码展开Shift + CMD + Option + 左箭头折叠界面内所有的代码Shift + CMD + Option + 右箭头展开界面内所有的代码...

2019-03-19 14:41:33 159

原创 10-闭包

import UIKitvar str = "Hello, playground"// 1计算机语言闭包的实现必要条件// 1.1 支持函数类型,能够将函数作为参数或者返回值传递// 1.2 支持函数嵌套,函数内部嵌套函数func caculate(opr:String) ->(Int,Int)->(Int){ // + 函数 func add(a:In...

2019-03-19 11:33:10 254

原创 9-扩展

import UIKitvar str = “Hello, playground”// 1 在原有的类型上(类,结构体,枚举)的基础上添加新的功能。扩展是一种轻量级的继承机制// swift 中的扩展机制可以在原类型上添加新的功能// 1.1 实例计算属性和静态计算属性// 1.2 实例方法和静态方法// 1.3 构造器// 1.4 下标// 2 扩展计算属性// Int 的扩展...

2019-03-13 11:49:38 206

原创 Swift4 String截取字符串

var str1 = "AlexanderYeah";// 1 截取字符串的第一种方式// prefix 截取前3个字符串var str2 = str1.prefix(3);print(str2);// suffix 截取后3个字符串var str3 = str1.suffix(3);print(str3);// 2 截取一个范围的字符串// 从0开始 到倒数第二位结...

2019-03-08 14:19:52 2313

原创 8-类的继承

import UIKitvar str = "Hello, playground"// 1 类的继承// 继承只能发生在类类型上,不能发生在枚举和结构体上面// 2 构造器过程中的安全检查// 类的构造过程有一下// 第一步:类的构造过程中包含两个阶段,第一步分配内存,初始化子类存储属性,沿着构造器链向上初始化父类存储属性。// 第二步:从顶部构造器链往下,对每个类进行进一步...

2019-03-07 10:38:58 229

原创 Swift-Kingfisher的简单使用

//// ViewController.swift// SK_Kingfisher//// Created by coder on 2019/3/6.// Copyright © 2019 AlexanderYeah. All rights reserved.//import UIKitimport Kingfisherclass ViewController: UIV...

2019-03-06 16:44:45 3880

原创 Swift -布局框架SnapKit使用

SnapKit1 安装SnapKit github地址//// ViewController.swift// SK_SnapKit//// Created by coder on 2019/3/6.// Copyright © 2019 AlexanderYeah. All rights reserved.//import UIKitimport SnapKit...

2019-03-06 14:31:24 1217

原创 swift string,Int,Double相互转换

import UIKitvar str = "Hello, playground"// 1 字符串转Int Double Floatvar str1 = "818";// 转Intvar val1 = Int(str1);// 转Doublevar val2 = Double(str1);// 转floatvar val3 = Float(str1);print(val3!...

2019-03-06 11:18:36 40668 1

原创 7-构造器方法

import UIKit// 1 构造器// 结构体和类在实例的构造过程中会调用一种特殊的方法init,称之为构造器// 构造器的主要作用是初始化存储属性// 如果存储属性在构造器中没有初始化 在定义的时候也没有初始化 就会产生编译错误class Employee{ let no:Int; var name:String?; // 在构造器中进行初始化存储属性...

2019-03-06 10:36:54 237

原创 swift 4.0 创建tableview 自定义cell

//// ViewController.swift// AlamofileDemo//// Created by Alex on 2019/3/5.// Copyright © 2019 AlexanderYeah. All rights reserved.//import UIKitimport Alamofire// 遵守协议方法class ViewContr...

2019-03-05 18:05:06 1625

原创 XCode 导入头文件不提示解决

File --&gt; WorkSpace Settings ---&gt; Build Sysytem ---&gt; Legacy Build System

2019-03-05 15:22:39 1849

原创 6-方法

import UIKit// 1 创建一个实体类 再起里面顶一个实例方法class Account{var ammount:Double = 10000.00;// 账户金额var owner:String = “Alex”;// 所有者// 利息计算公式func calculateInterestWithRate(rate:Double) -&gt; Double {return ...

2019-03-05 14:32:38 200

JSONExport.zip

json 一键转换 模型,发现JSONExport还是不错的,在此分享一下:JSONExport ,

2020-04-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除