iOS开发进阶
文章平均质量分 92
专注于iOS开发,不定期分享开发新得,Swift以及Apple最新特性,喜欢和大家交流,希望能够共同提高,共同进步
崔小花o
一只刚回行走的程序猿,要跑,要飞奔,要飞....专注于移动开发,喜欢和大家交流,希望能够共同提高,共同进步
展开
-
zlib-Deflate压缩算法
写在前边最近在做一些关于网络优化的一些事情,涉及到对纯数据(Data、字符串、Json等)进行压缩,用到了Deflate压缩算法,这里就简单说一下如何用OC实现 Deflate先看代码 (后面会给出详细解析)Deflate.h//// Deflate.h// CompressionTest#import <Foundation/Foundation.h>NS_...原创 2019-05-31 18:26:48 · 14063 阅读 · 5 评论 -
IOS开发基础Object-C( 14)-- 字符串的使用方法
今天来给大家介绍一下 Foundation 框架关于字符串的使用方法,方法比较多,功能介绍我都写在代码里了。好了不多说了,上代码我们来建立一个新的类StringTest我们来声明一下StringTest.h#import <Foundation/Foundation.h>@interface StringTest : NSObject+ (void...原创 2016-01-04 21:14:05 · 1397 阅读 · 0 评论 -
IOS开发基础Object-C(13)—— protocol协议
今天,来给大家讲解一下OC中@protocol的用法,什么是protocol呢?从字面的意思上来说是协议的意思,那么到底什么是协议呢?那我们来普及一下协议的概念。协议的概念(1)协议相当于没有与类相关联的接口,他申明一组方法,列出他的参数和返回值,共享给其他类使用,然后不进行实现,让用它的类来实现这些方法(2)在任何一个类中,只有声明了协议,都可以实现协议里的方法。(3)协议不是一原创 2016-01-03 16:06:53 · 926 阅读 · 4 评论 -
IOS开发基础Object-C( 15)-- block的使用方法
今天来给大家简单讲解一下block的用法,在讲解block之前,我们先来理解一下闭包的概念1.闭包的概念我们先来看一下脚本语言的闭包function funA(callback){ alert(callback());}function funB(){ var str = "Hello World"; // 函数funB的局部变量,函数funA的非局部变量原创 2016-01-16 10:03:08 · 783 阅读 · 0 评论 -
IOS开发基础Object-C(12)—单例模式
单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。1.单例模式的要点: 显然单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。2.单例模式的优点: 1.实例控制:Singleton 会阻止其他对象实例化其自己的 Singleton 对象的副本原创 2015-12-30 22:11:31 · 2142 阅读 · 3 评论 -
IOS开发基础Object-C(11)—Category语法
谢天谢地,糟心的内存管理终于讲完了,我们的OC内存管理也就先告一段落了,以后还是需要多联系多理解,记住,理解最重要。今天呢,我们再来讲一个很重要的语法——Category,根据字面的意思呢就是种类分类。这是一个OC特有的语法,在Java中是没有的,而且在项目中经常被用到。我查了很多的资料,发现Category并没有一个很明确的定义,如果要给他一个定义的话,我觉得称它为扩展类比较合适,为原创 2015-11-28 17:14:18 · 2390 阅读 · 1 评论 -
IOS开发基础Object-C(10)—OC内存管理(4)-autorelease使用
最想必大家近也是被内存管理整的焦头烂额,大家也就再痛苦这么一下,今天的autorelease已经是内存管理的最后一章了,今天的内容完成我们的内存管理也就先告一段落了。希望大家一定要理解内存管理,因为内存管理在OC中的地位可以说相当于C语言中的指针。虽然现在引进了ARC机制,但是大家也要理解内存管理的过程和原理,否则到时动不动来个内存泄露,而且还找不到错误所在,那感觉.....真(ri)是(le)爽原创 2015-11-27 11:21:22 · 3003 阅读 · 0 评论 -
IOS开发基础Object-C(09)—OC内存管理(3)-@property的参数详解
在 IOS开发基础Object-C(06)—@property 和@synthesize语法中我们已经大体了解了@property的参数,今天我们就来详细解释一下@property关于内存管理的用法。首先,我们来新建两个类,Book和Student类Student.h#import #import "Book.h"@interface Student :NSObject原创 2015-11-23 19:35:48 · 1928 阅读 · 0 评论 -
IOS开发基础Object-C(08)—OC内存管理(2)-对象之间的内存管理
前几天,我们学习了内存管理的基本知识,了解了内存管理的基本原理。那么,今天我们来学习一下对象之间的内存管理,看看对象之间是如何进行内存管理的。首先,我们新建两个类:Student和Book类,在Student类中声明一个Book对象Student.h#import #import "Book.h" @interface Student : NSObject {原创 2015-11-22 07:37:30 · 2512 阅读 · 1 评论 -
IOS开发基础Object-C(07)—OC内存管理(1)-retain和release
前面我们已经说过,OC不同于Java的地方就是没有垃圾回收机制,在内存管理这块,cocoa引入了一种称为引用计数(reference counting)的技术,有时也叫保留计数,每个对象有一个与之对关联的整数,称作它的引用计数器或保留计数器.当某段代码要访问一个对象的时候,该代码将该对象的保留计数值加1,表示”我要访问该对象”,当这段代码结束对象访问时,将对象的保留计数值减1,表示它不再访问该对象,原创 2015-11-04 17:15:11 · 1703 阅读 · 0 评论 -
IOS开发基础Object-C(06)—@property 和@synthesize语法
今天我们来学一下@property和@synthesize语法,在我的前几篇博客中,我详细介绍了getter方法和setter方法的创建,我们再来回顾一下。Student.h文件中声明#import<Foundation/Foundtion.h>@interface Student :NSObject{ int age; int no;}-(int)age;原创 2015-11-02 16:43:09 · 1488 阅读 · 0 评论 -
IOS开发基础Object-C(05)—OC变量的作用域、self
一、变量的作用域方法的声明和实现,都必须以+ 或者 - 开头, (1). +表示类方法(静态方法) (2).-表示对象方法(动态方法) 在.h中声明的所有方法都是public类型(通过Category可以实现private)1.@public,@protected,@private@public 全局都可以访问 @protected 只能在类内部和子类中访原创 2015-11-02 12:47:10 · 3011 阅读 · 0 评论 -
IOS开发基础Object-C( 04)—构造方法和description方法
在上一篇博客中,我们简单介绍了一下点语法和self,相信大家对点语法以及self有了一点的了解,点语法的本质就是调用get方法和set方法。那么今天我们再来介绍一下构造方法和description。 注:现在我也是在学习阶段,有错误请大家指出,多多包涵,本博客仅属于读书笔记一类。强烈推荐MJ老师的视频。在后面我会附上MJ老师的IOS开发基础视频,看过MJ视频的也可以依照本博文复习巩固@M了个J,原创 2015-11-01 11:51:02 · 2866 阅读 · 0 评论 -
IOS开发基础Object-C(03)—点语法
今天我们来介绍一下OC中的点语法,官方为了让更多的程序员更加容易的学习开发OC语言,所以增加了一个点语法。在上一篇博客中,我们详细介绍了在OC中类的创建。今天我们就来简单的复习一下:一、创建一个学生类1.在Student.h文件中声明 #import< Fountation/Fountation.h> @interface Student :NSObject{ int _age;//约原创 2015-10-31 17:27:41 · 3231 阅读 · 0 评论 -
IOS开发基础Object-C(02 )—第一个OC类
**1、@interface关键字**打开Student.h文件,声明一个类,代码如下:```//声明一个类@interface Student:NSobject{ int age; //属性要放在大括号里 //int no;} @end```上述的代码声明了一个类,类名SimpleClass,继承自NSobject 。定义的方法属性放在上面两个@语句之间。属性放在大括号里。原创 2015-10-30 23:07:15 · 1733 阅读 · 0 评论 -
IOS开发基础Object-C(01)— OC概述及比较
一、OC概述二、语言预览 --1、没有包名(命名空间)的概念 --2、OC中的关键字和字符串都是以@开头。三、语言比较 --1、函数对比 --2.消息传递 --3、垃圾回收 --4、self及this --5、继承关系和接口实现 --6、空指针原创 2015-10-30 19:24:33 · 1849 阅读 · 0 评论 -
Swift 4.2 新特性(译)
Swift 4.2 新特性(译) 一、概述二、准备三、语言演进3.1 随机数生成3.2 动态成员查找3.3 枚举实例集合3.4 新的序列方法3.5 检测序列元素3.6 条件遵守更新3.7 Hashable 增强3.8 集合中移除元素3.9 更改布尔值3.10 新的编译器指令3.11 新的指针函数3.13 模块中的内联函数四、其他更新4.1 Swift Package Manager 更新4.2 移...原创 2018-11-09 14:20:00 · 2499 阅读 · 0 评论 -
排序算法(02)— 快速排序算法
快速排序算法一、概述快速排序(Quick Sort)是由东尼·霍尔(Tony Hoare)所发展的一种排序算法。他在形式化方法理论以及ALGOL60编程语言的发明中都有卓越的贡献。二、算法思想2.1 基本思想快速排序的基本思想是:通过一趟排序,将待排记录分隔成独立的两部分,其中一部分的记录的关键字总是比另一部分记录的关键字小,则可以分别对这两部分记录继续进行排序,直到整个序列有序。原创 2018-11-09 17:49:35 · 1912 阅读 · 0 评论