自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

生活一地鸡毛

生活一地鸡毛,也要高歌猛进

  • 博客(12)
  • 收藏
  • 关注

原创 iOS Double/Float 类型的数据计算精度问题

问题:在iOS开发中,我们会经常碰到使用浮点型接收后台返回的数据,这个时候往往就会遇到精度转换问题,尤其是在开发金融类APP的时候:解决:使用 NSDecimalNumber 将float/double数据转化成NSDecimalNumber 类型的对象进行 +、-、*、/ 运算。 -(double)decimalNumber:(double)num1 num2:(double)num2 ...

2019-04-03 16:31:14 2339 1

原创 Swift学习01(常量/变量)

什么是常量和变量Swift中,在定义一个标识符时,必须明确说明该标识符是一个常量还是变量用let来定义常量,定义后不可修改用var来定义变量,定义和可以修改常量和变量的基本使用import UIKitlet age1 : Int = 18// 当一个字段定义为常量时是不可以修改的,在此处修改会报错// age1 = 20 var age2 : Int = 20// 因...

2019-04-02 10:18:21 122

原创 iOS11 TableView reloadData 后出现contentSize计算不准确的情况

原因:在iOS 11中默认启用Self-Sizing。而在开启Self-Sizing之后,TableView会使用estimateRowHeight属性,就会造成contentSize和contentOffset值的变化。因为不会缓存正确的行高,在TableView reloadData的时候,就会重新计算contentSize,从而引起contentOffset的变化。解决:知道了原因...

2019-03-29 15:34:28 2568

原创 iOS--消息传递机制

1,首先去该类的方法 cache 中查找,如果找到了就返回它;2,如果没有找到,就去该类的方法列表中查找。如果在该类的方法列表中找到了,则将 IMP 返回,并将 它加入 cache中缓存起来。根据最近使用原则,这个方法再次调用的可能性很大,缓存起来可以节省下次 调用再次查找的开销。3,如果在该类的方法列表中没找到对应的 IMP,在通过该类结构中的 super_class指针在其父类结构的方法列...

2019-03-06 15:07:07 698

原创 Objective-C isa 指针

在OC中任何类的定义都是对象,类和类的实例(对象)没有任何本质上的区别。任何对象都有isa指针。那么什么是类呢?在Xcode中用快捷键Shift+Command+O 打开文件objc.h 能看到类的定义:从图中可以看出:Class 是一个objc_class结构类型的指针id 是一个objc_object结构类型的指针下面我再来看下objc_class各个参数的含义:isa:是一个...

2019-02-28 16:01:18 439

原创 iOS-weak修饰的对象被释放时,weak指针自动被置为nil的实现原理

我们都知道weak指针不会增加引用计数,并在引用对象被回收的时候自动被置为nil。通常用于解决循环引用问题。那么,自动被置为nil内部又是如何实现的呢?一、weak的实现原理概括Runtime维护了一个weak表,用于存储指向某个对象的所有weak指针。weak表其实是一个哈希表,Key是所指对象的地址,Value是weak指针的地址(这个地址的值是所指对象的地址)数组。具体步骤1、初始...

2019-02-28 15:06:41 2770

原创 iOS中weak和assign的区别

1.修饰变量类型的区别weak 只能修饰对象类型的。assign 既可以修饰对象类型的,也可以修饰基本数据类型。2.是否会造成野指针weak 不会产生野指针问题。因为weak修饰的对象释放后(引用计数器值为0),指针会自动被置nil,之后再向该对象发消息也不会崩溃。assign 如果修饰对象,会产生野指针问题;如果修饰基本数据类型则是安全的。修饰的对象释放后,指针不会自动被置空,此时向对...

2019-02-28 12:12:46 949

原创 iOS数据存储之不一样的归解档

归档和解档是iOS中一种序列化与反序列化的方式。对象如果要实现序列化就需要遵循NSCoding协议,而系统中绝大多数Foundation和Cocoa Touch类都遵循了NSCoding协议。接下来我们就来看看具体的实现方式:一、在需要进行归解档的自定义类中遵循NSCoding协议:@interface Person : NSObject<NSCoding>//需要归档的属性...

2019-02-27 17:40:53 204

原创 iOS - 定时器NSTimer不受UISrollView滑动影响

创建不受滑动影响的NSTimer步骤:1.手动创建一个NSTimer2.获取当前线程的RunLoop3.将NSTimer 按照指定模式加入到RunLoop中具体代码如下:- (void)addTimer{             NSTimer *timer=  [NSTimer scheduledTimerWithTimeInterval:1.0 target:se...

2019-02-20 10:43:59 304

原创 更新Xcode 10之爬坑记

前言为贯彻落实iOS 12 系统的新思想,成为了公司第一个更新Xcode 10 的探坑者更新Xcode 10 遇到的坑第1个坑:Xcode 10不再支持 c++.6.0.9更新完Xcode 10,满怀激动打开项目,编译、运行。直接编译报错,懵

2019-02-20 10:42:27 467

原创 iOS比较好用的第三方框架

目录Model数据库缓存处理图像浏览及处理UI·下拉刷新·AutoLayout·富文本·HUD与Toast·其他UI网络相关·网络连接·图像获取·网络测试其他库1.Model ①MJExtension- 用于json转model,转换效率高,使用简单,只需前后台约定好格式,json可以直接转成model。(个人比较推荐...

2019-02-20 09:47:10 547

原创 iOS之TabbarController和NavigationController框架

现在绝大部分APP都采用TabbarController和NavigationController相结合的设计模式,也是iOS一种很经典的框架设计模式,下面我们就来说一下,具体是怎么实现的。TabbarController和NavigationController这种模式,一般有两种设计方案。 ①多个TabBarController的viewControllers 和一个NavigationC...

2019-02-19 17:58:11 1973

空空如也

空空如也

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

TA关注的人

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