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

block从表面看相当于一个带有自动变量的匿名函数 因为block可以传入参数有并且有返回值 在block里还能获取到外部的变量 但是默认block是不能修改局部变量的值 而且block捕获的是变量的瞬时的值 但是block可以修改静态变量、静态全局变量和全局变量 如果想要修改局部变量的值 需要在局 ...
阅读全文 »

顾名思义 协议就是双方要协商好的意思 也就是一方负责制定规则,一方需要遵守规则 在iOS中协议主要是用于方法回调 还有就是代码的封装 因为协议里面的方法默认是必须实现 这样的话就可以把必须实现的方法写到协议里面 防止使用的时候被遗忘更加的安全 还有就是在iOS中没有多继承 但是可以通过多个协议来实现 ...
阅读全文 »

说到面向对象不得不说的三个特点 封装继承和多态 比如用计算器来说 假如目前只是需要加法 面向过程就是直接把加法的代码里写进去 面向对象会把计算器单独作为一个文件 然后把加法单独写一个方法 然后后来有的地方需要新增一个减法的功能 面向过程就会在当前的地方直接把减法的写进去 面向对象只需要在建一个文件继 ...
阅读全文 »

iOS内存由低到高分为五个区 .text段(代码区)、.data段(已初始化的全局变量、静态变量)、.bss段(未初始化的全局变量、静态变量)、堆区、栈区 栈内存由系统管理 堆内存由开发者管理 栈内存存储变量参数 堆内存存储对象 内存管理的几种方式 手动管理MRC 谁创建,谁释放。谁retain,谁 ...
阅读全文 »

Category分类 Extension扩展 Extension是编译时就决议生效的可以添加实例变量方法属性 Category是运行时决议生效的可以添加方法属性(属性不会自动生成getset方法需要手动生成) 1234567891011121314struct objc_class { ...
阅读全文 »

说到KVC不得不说Set和Get 正常访问属性都是用Set方法和Get方法 但是苹果还提供了另外一种方法就是KVC全称Key-Value Coding 中文就是键值编码 简单点来说就是直接 用valueForKey和valueForKeyPath来获取属性的值 用setValue forKey和se ...
阅读全文 »

Reveal下载地址 12链接: https://pan.baidu.com/s/1935iAMQncz4Jqk3MUU46lA提取码: df9a 手机安装插件Reveal Loader 然后把压缩包里的libReveal.dylib复制到手机上/Library/RHRevealLoader/即可 ...
阅读全文 »

准备好两个plist文件 一个正式的Release.plist 一个测试的Debug.plist plist文件相当于打包上传的时候配置文件 比如是应用商店的 还是本地测试的 是自动管理的 还是手动配置的等等 正式的Release.plist 123456789101112131415161718& ...
阅读全文 »