OC
文章平均质量分 69
梧雨北辰
天行健,君子以自强不息!
展开
-
iOS内存管理(2)-深入解析自动释放池
主要内容:AutoreleasePool简介AutoreleasePool底层原理Autorelease与NSThread、NSRunLoop的关系AutoreleasePool在主线程上的释放时机AutoreleasePool在子线程上的释放时机AutoreleasePool需要手动添加的情况一、Autorelease简介iOS开发中的Autorelease机制是为了延时释放对象。自动释放的概念看上去很像ARC,但实际上这更类似于C语言中自动变量的特性。自动变量:在超出变量作用域后将被废弃;自动释放池:在原创 2021-10-10 17:56:34 · 942 阅读 · 0 评论 -
探究Block原理(下篇)-捕获变量分析及__block原理
主要内容:1.分析Block捕获外部变量的过程2.理解Block修改外部变量的限制3.分析__block存储域类说明符的原理4.理解__block变量的存储域5.探究Block对对象的捕获过程6.Block的循环引用问题一、分析Block捕获外部变量的过程为了保证block内部能够正常访问外部的变量,Block有一个变量捕获机制,即Block语法表达式所使用变量可以被保存到Bloc...原创 2019-10-10 10:01:42 · 788 阅读 · 0 评论 -
探究Block原理(上篇)-Block本质及存储域问题
主要内容:1.理解Block的本质2.理解Block的存储域分类3.理解Block的Copy原理一、探究Block的本质从一个最简单的Block使用示例说起,我们分析如下代码://main.m文件:#import <Foundation/Foundation.h>int main(int argc, char * argv[]) { int num = 10;...原创 2019-10-06 22:19:42 · 463 阅读 · 0 评论 -
Runtime运行时-应用篇
在上篇文章iOS运行时Runtime基础后,本篇将会总结Rutime的具体应用实例,结合其动态特性,Runtime在开发中的应用大致分为以下几个方面:相关文章:iOS运行时Runtime基础一、动态方法交换:Method Swizzling实现动态方法交换(Method Swizzling )是Runtime中最具盛名的应用场景,其原理是:通过Runtime获取到方法实现的地址...原创 2018-06-11 11:19:21 · 578 阅读 · 0 评论 -
Runtime运行时-基础篇
本文主要整理了Runtime的相关知识。对于一个iOS开发者来说,掌握Runtime的重要性早已不言而喻。OC能够作为一门优秀的动态特性语言,在其背后默默工作着的就是Runtime。在网上也看过很多资料,最终我还是希望在一些关键的知识点上能够融入自己的理解,从简单的问题出发,一步一步理解和学以致用。相关文章:iOS运行时Runtime应用目录:一、怎么理解OC是动态语言,Run...原创 2018-06-11 11:16:55 · 604 阅读 · 0 评论 -
iOS视频播放的基本方法
本文总结了iOS中最常见的视频播放方法,不同的方法都各具特点,我希望能够总结它们的不同,方便在开发中选择合适的技术方案。Apple为我们提供了多种方法来实现视频播放,包括MPMoviePlayerController,MPMoviePlayerViewController,AVPlayer,AVPlayerViewController等。而值得注意的是,上述的MPMoviePlayerCont...原创 2018-06-11 11:12:50 · 962 阅读 · 0 评论 -
iOS导航栏使用总结
目录:一、设置导航栏样式 二、自定义导航栏返回按钮后侧滑不可用问题 三、隐藏导航栏底部的分割线 四、导航栏引起的布局问题相关文章:iOS状态栏的使用总结一、设置导航栏样式设置导航栏的样式可分为全局设置与局部设置;1.全局设置全局设置一般的都是在AppDelegate中设置,这样整个app都会生效,相关的代码与效果图如下://1.设置导航栏背景颜色[[...原创 2018-06-11 10:56:59 · 1243 阅读 · 0 评论 -
iOS状态栏使用总结
目录:一、状态栏与导航栏 二、设置状态栏显隐与字体样式 三、设置状态栏背景色 四、启动页隐藏状态栏 五、状态栏、导航栏相关的常用宏定义相关文章:iOS导航栏的使用总结一、状态栏与导航栏状态栏:显示时间、电池等信息 导航栏:显示app页面标题,返回按钮等iOS7之前:状态栏与导航栏是分开的; iOS7之后:状态栏与导航栏合在一起;导航部分总高度(64)= 状态栏高...原创 2018-06-11 10:53:22 · 1347 阅读 · 0 评论 -
AFNetworing同步网络请求?
AFNetWorking同步网络请求?原创 2017-07-15 10:43:07 · 653 阅读 · 0 评论 -
iOS与JS交互的总结
实现iOS和JS的交互原创 2016-07-29 18:39:29 · 1701 阅读 · 0 评论 -
iOS相机、麦克风等权限的判断与设置
一、iOS应用权限检测在涉及到这个问题的时候,首先为了适配iOS10系统,我们必须首先在info.plist文件声明中将要用到的权限,否则将会引起崩溃如下: “This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app’s Info.原创 2017-01-10 09:32:02 · 13346 阅读 · 0 评论 -
关于iOS设备参数的获取
一、判别当前手机系统版本号 //系统版本字符串 CGFloat currentSystemVersion = [[[UIDevice currentDevice] systemVersion] floatValue]; NSLog(@"currentSystemVersion:%f",currentSystemVersion); //currentSystemVersi原创 2017-01-03 19:09:42 · 1078 阅读 · 0 评论 -
iOS提交审核失败:通知“has changed to Invalid Binary.”错误
2016-11-09今天在App提交审核的时候遇到了一个问题,打包上传到itunes Connect的过程都没有问题,但是之后在itunes Connect的活动中却看不到自己上传的新版本二进制文件。而且自己还收到了“Your app… (Apple ID:xxx) has changed to Invalid Binary”的错误通知。 在网上找了一些资料都说是iOS10权限的问题,比如在App原创 2016-11-09 14:57:00 · 4256 阅读 · 0 评论 -
关于iOS开发CPU架构的问题
首先,之所以提到CPU架构的问题,其实是因为我们iOS开发使用的静态库与动态库与之紧密相连。每一个开发的App都要运行在模拟器或者真机上,在编译的时候,Xcode需要去分析当前运行平台的CPU架构,然后确定所使用的静态库是否支持这个CPU架构。如果不支持就会报错。一、什么是CPU架构“CPU架构是CPU厂商给属于同一系列的CPU产品定的一个规范,主要目的是为了区分不同类型CPU的重要标示。目前市面上原创 2016-11-08 15:00:36 · 2448 阅读 · 0 评论 -
iOS开发中设置圆角的方法
效果图:方法一:使用代码设置 //第一步设置圆角的大小 //如果是设置为视图的高度的一半,则为半圆弧 _circleBtn.layer.cornerRadius = 5; //第二部:设置剪切 _circleBtn.layer.masksToBounds =YES; //CAL原创 2016-04-16 10:34:31 · 1160 阅读 · 0 评论 -
OC基础:Foundation框架之NSString和NSMutableString
内容简介: Foundation框架之NSString和NSMutableString 第一部分》》》》NSString的使用 基本用法 //1.创建字符串 //1.1常规创建,创建一个空的字符串 //这样创建的字符串几乎没用,因为它们是空的而且还不可变 //alloc创建原创 2015-09-06 13:25:37 · 484 阅读 · 1 评论 -
OC面向对象之第一个OC类
在学过java、c++这样语言之后,再来学习OC语言,虽然也同样是面向对象的语言,但是OC语言仍然给我们一种很"怪异"的感觉。这主要是由于OC语言本身有着它独特的命名和使用方法。总结java语法和OC语法的使用,我们会发现其实还是有很多规律可循的。下面就总结了OC类的一些特性。一、关于OC类 1.oc中一般用两个文件描述一个类,与java是不同的。原创 2015-08-31 08:38:45 · 682 阅读 · 0 评论 -
OC设计模式之代理(委托)设计模式
作为一种面向对象类型的语言,OC中也有各种设计模式的体现,这里讲到的是代理(委托)设计模式。首先我们来理解一下什么是委托设计模式, 1.委托(delegate)也叫代理,是iOS开发中常用的设计模式。 2.代理模式是一种简单而功能强大的设计模式,这种模式用于一个对象“代表”另外一个对象和程序中其他的对象进行交互。 3.主对象(这里指的原创 2015-07-28 21:59:12 · 2029 阅读 · 0 评论 -
Xcode文档注释使用总结
Xcode作为iOS的开发神器,为我们提供了十分丰富的文档提示功能,在开发过程中,我们可以十分方便的按下Option键,选中一个类或者方法查看其文档说明。而实际开发过程中我们也可以使用规范的方法添加注释,达到这样的效果。本篇主要介绍几种常用的文档注释方法。多行注释文档/** 多行注释文档相比于普通多行注释多了一个星号。 在这里可以使用markDown语法,书写各种提示信息 如原创 2016-08-15 21:31:50 · 4108 阅读 · 0 评论