- 博客(45)
- 收藏
- 关注
原创 CoreGraphics,QuartzCore, CoreAnimation区别
CoreGraphics,QuartzCore, CoreAnimation区别
2024-04-01 09:05:00
513
原创 ios上线版本怎样收集crash日志?或者bugly这些第三方平台是怎样收集crash日志的?
我们都希望我们的 App 永远不会崩溃。然而,当崩溃发生时,从这些崩溃中捕获的日志可以帮助你排除 bug,并使你的 App 重新开始运行。博主记录三种方式可以查看bug反馈日志:方式一:使用Xode1.打开《Xcode》。2.在菜单栏中选择“Window”(窗口)。3.前往“Organizer”(组织器)>“Crashes”(崩溃)。4.在下拉菜单中选择“App Store”。在这里你可以看到上传APPStore上面应用的崩溃信息。方式二、集成腾讯Bugly、友
2021-09-12 22:46:40
1495
原创 OC中NSDictionary、NSArray及Swift中Array底层实现原理
首先我们先了解哈希表(hash表)这个概念:哈希表(hash表):又叫做散列表,是根据关键码值(key value)而直接访问的数据结构。也就是它通过关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射叫做函数,存放记录的数组叫做哈希表。读到此处我们得到一个关键信息:所谓哈希表就是一个数组,数组中每一个元素称为一个箱子(bin),箱子中存放的是键值对。hash表存储过程简单介绍:1.根据key值计算出它的hash值h;2.假设箱子的个数是n,那么键值对应该放在第(h%n)..
2021-07-14 22:14:51
952
原创 ios开发之离屏渲染
前言首先我们要理解离屏渲染的概念,为什么会出现离开渲染,以及如何避免离屏渲染。GPU屏幕渲染有两种方式:1.On-Screen Rendering (当前屏幕渲染)指的是GPU的渲染操作是在当前用于显示的屏幕缓冲区进行。2.Off-Screen Rendering (离屏渲染)指的是在GPU在当前屏幕缓冲区以外开辟一个缓冲区进行渲染操作。当前屏幕渲染不需要额外创建新的缓存,也不需要开启新的上下文,相对于离屏渲染性能更好。但是受当前屏幕渲染的局限因素限制(只有自身上下文、屏幕缓存有
2021-07-13 22:06:19
640
2
原创 iOS开发之NSMethodSignature(方法签名)
OC中方法调用有三种:第一种:直接调用- (void)viewDidLoad { [super viewDidLoad]; [self printStr1:@"hello"];}- (void)printStr1:(NSString*)str{ NSLog(@"printStr1 %@",str);}第二种:通过performSelector- (void)viewDidLoad { [super viewDidLoad]; [sel
2021-05-21 14:22:16
1536
1
原创 简单Swift梳理
一、字符串的介绍1.OC和Swift字符串的区别在OC中字符串类型是NSString ,在Swift中字符串类型是String使用String的原因String是一个结构体,性能更高NSString 是一个OC对象,性能略差String 支持直接便利Swift提供了String和NSString之间的无缝转换...
2021-04-25 17:08:37
394
1
原创 ios开发之上传自己组件到Cocoapod
作为一名ios开发者,我们平时都会使用AFNetworking、SDWebImg,但上传过自己的组件到cocoapod吗?收藏本文章,博主带你上传过自己的组件到cocoapod。
2021-04-22 16:49:12
366
原创 Target-Action设计模式
SEL(@selector)概念SEL方法名(编号)IMP一个函数指针,保存了方法的地址@selector(方法名)获取方法的编号,结果是SEL类型。他的行为基本可以等同于C语言中的函数指针区别:C语言中,可以直接把函数名赋值给一个函数指针,而且函数指针直接保存了函数地址Objc中的类不能直接应用函数指针,只能使用@selector来获取,获取的是方法的编号方法以@selector作为索引,@selector的数据类型是SEL,对应每个方法的编号,当我们寻找方法的时候使用的是这个
2021-03-03 17:32:25
510
1
原创 ios开发-面向切面编程(runtime的一个基本应用)
http://www.cocoachina.com/iOS/20160803/17275.html,加上自己的理解,希望对大家有所帮组
2021-02-20 10:58:07
365
原创 ios-SDK开发
一、请谈谈微信小程序主要目录和文件的作用?project.config.json: 项目的配置文件,例如是否开启https校验App.json: 底部tab菜单、标题栏、页面路由等设置App.js: 设置一些全局性的基础数据App.wxss: 公共样式、引入iconfont等**Pages:**里面包含具体一个个页面**index.json:**配置当前页面标题和引入的组件等**index.wxml:**页面布局结构**index.wxss :**页面样式表**index.js:**页面
2020-12-16 17:00:40
1579
1
原创 JAVAWEB学习概要
Day01##1.Junit单元测试使用步骤: 1.定义一个测试类:测试用例 2.定义测试方法:可以独立运行 3.给方法加注解(@test) 4.导入junit依赖环境 5.判定结果:绿色成功,红色失败,一般我们会使用断言操作来处理结果:Assert.assertEquals(期望的结果,result)。......
2019-04-17 23:17:30
336
原创 一个小白对微信小程序的理解
一、小程序开发框架组成介绍首先介绍一个小程序宿主环境差异,其中iOS是基于JavaScriptCore,Android是基于X5内核,IDE是基于nwjs。1.WXML (WeiXin Markup Language)它是框架设计的一套标签语言,结合组件、WXS和事件系统,可以构建出页面的结构。你需要了解他的相关知识:1)数据绑定2)列表渲染3)条件渲染4)模板及引用...
2019-03-27 10:41:18
1287
原创 一个小白的vue理解
一、vue的声明周期几个主要的钩子函数:1.beforeCreate -->创建前数据观测和初始化事件还未开始2.created --> 创建后3.beforeMouted -->载入前相关的render函数首次被调用,把data里面的数据和模板生成html。注意此时还没有挂载html到页面上。完成数据观测,属性和方法的运算,初始化事件,$el属性还...
2019-03-22 14:25:38
267
原创 ios开发-解决定时器循环引用
前言:对iOS开发者的忠告:在这个技术不断更迭的互联网时代,作为一个iOS开发者如果变成语言只掌握OC是远远不够的,如果是这种情况,你也很容易被淘汰。博主希望iOS开发者也学会一门后台语言,无论是PHP,或者是JAVA,或者其他。不然,你在公司永远没有地位。本章主要介绍swift语言swift–》苹果于2014年WWDC(苹果开发者大会)发布的新开发语言。作为一个iOS开发者也是必须熟练掌握......
2018-10-23 15:18:58
1048
原创 iOS开发一些常用库的理解
1.BLOCK知识点1: block分类,iOS中有三种blockNSConcreteGlobalBlock; //没有用到外界变量或只用到全局变量、静态变量的block为_NSConcreteGlobalBlock,生命周期从创建到应用程序结束。NSConcreteStackBlock; //只用到外部局部变量、成员属性变量,且没有强指针引用的block都是StackBlock。StackB...
2018-07-04 12:05:40
212
原创 static关键字在OC及Swift中的应用
有些项目中需要同时集成微信、支付宝支付和环信XMPPSDK,你的微信和支付宝支付会莫名的收不到回调,别着急,博主带你来踩坑。微信回调需要实现的方法当你再集成环信后,发现这三个方法不走了,原因如下:EaseUI里面有了AppDelegate + ShareFiles.h这个东西看到这里iOS开发的童鞋们幡然醒悟了吧。...
2018-04-11 13:31:58
324
1
原创 iOS开发之APNS机制
iOS开发之APNS机制一张图完美的解释iOS开发APNS机制 步骤: 1.应用程序向苹果APNS服务器注册消息推送。 2.应用程序把从APNS服务器获取deviceToken, 3.应用程序将deviceToken上传给公司服务端。 4.服务端把需要推送的消息和标示发送给APNS服务器。 5.APNS服务器根据标示把消息推送个iphone。根据一个非常好用的第三方-极光推送来具体实践推
2017-12-11 13:52:58
981
原创 iOS开发之Runloop和Runtime
RunLoop 对于一个iOS开发者,如果你的水平只是停留在会用API的级别,那说明你与大神还是慢慢长路,本文章大家一块学习一些深层次的东西,RunLoop和Runtime。Runloop官方文档你肯定写过一个按钮点击事件,点击界面上的一个按钮,这个时候就会有对应的按钮响应事件发生。给我们的感觉就像应用一直处于随时待命的状态,在没人操作的时候它一直在休息,在让它干活的时候,它就能立刻响应。其实
2017-09-06 14:28:59
2226
1
原创 iOS开发之多线程
iOS开发之多线程本文章博主和大家一块学习多线程,很自然就涉及到线程和进程,然后涵括NSThread、GCD、NSOperation!然后就是最牛叉的RunLoop和Runtime。一、线程与进程进程是指在系统中正在运行的一个应用程序,就是一段程序的执行过程,每个进程之间是相互独立的。一个进程要想执行任务,必须要有线程,至少有一条线程,一个进程的所有任务都是在线程中执行。其实应用程序启动的时候我么你
2017-08-31 10:50:20
4179
1
原创 浅谈iOS开发中的锁
本文博主带领大家一起学习一下iOS开发中的锁。为什么用到锁?当一个线程访问数据的时候,其他的线程不能对其进行访问,直到该线程访问完毕。即确保线程安全。比如:iOS中的读写文件,当一个线程在写文件时,如果另一个线程去读或者去写,这样都会导致数据紊乱。为了线程安全,我们使用锁的机制来确保,同一时刻只有同一个线程来对一个数据源进行访问。iOS中都用什么锁?NSLock@synchronizeddi
2017-08-02 17:15:56
944
1
原创 iOS开发之设计模式
我们都知道解决一个问题有N种解决方式,但在面向对象的设计中如何能做到“高内聚,低耦合”,设计可重用的对象才是我们追求的。正确的设计模式对开发运行流畅的应用的重要性是不言而喻的。这也是考验一个开发者的基本功。目前主要流行的设计模式有:代理模式观察者模式单利模式工厂模式策略模式MVC模式MVVM模式下面我们一起学习一下这几种设计模式: 一、代理模式 代理模式官方定义是:为其他对象
2017-07-31 17:22:40
681
原创 iOS开发网络协议----HTTP/TCP/IP浅析&&Socket
1、OSI分层2、TCP和UDP的区别3、TCP/IP协议4、SOCKET原理
2017-07-13 17:54:00
2388
1
原创 iOS开发之UITableView优化问题
在iOS开发中tableView是最常用的控件之一,对tableView的熟悉使用是一名开发者必备的基础技能。本文主要针对tableView的优化方面提出一些建议方法,欢迎大家一块学习。提示:如果你对tableView的层次结构还不够清晰,本博主向你推荐一篇文章,UITableView的结构方法解析–http://www.jianshu.com/p/284fd7d8c9e9 你会对tableVi
2017-07-13 10:43:31
447
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人