自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 什么是面向对象

面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术[1] 发展到一定阶段后的产物。起初,“面向对象”是专指在程序设计中采用封装、继承、多态等设计方法。概念对象对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象的状态和行为。对象具有状态,一个对象用数据值来描述它的状态。 对象还有操作,用于改变对象的状态,对

2017-07-31 19:27:18 1760 1

原创 C语言-内存管理

内存管理一号传送门内存管理二号传送门对于一个C语言程序而言,内存空间主要由五个部分组成代码段(.text)、数据段(.data)、BSS段(.bss),堆和栈组成,其中代码段,数据段和BSS段是编译的时候由编译器分配的,而堆和栈是程序运行的时候由系统分配的。在上图中,由编译器分配的地址空间都是在连接的时候分配的,而运行时分配的空间是在程序运行时由系统分配的BSS段:BSS段(bss segment)

2017-07-31 18:42:55 229

原创 C语言-函数、字符串

函数C语言函数 传送门在c语言中,函数是程序的基本单位,每个函数都是具有独立功能的模块。利用函数,可以方便实现程序的模块化,同时使整个程序的组织,编写,阅读,调试,修改和维护更加方便,使程序更清晰。同时,同一个函数可以被一个或多个函数调用任意多次!就减少了同样代码的多次编写!C语言中的函数,类似于在C#和Java中中的方法,函数一般分为: 1、【主函数】 一般一个PC程序只有一个主函数,也就是程

2017-07-31 15:57:03 661

原创 C语言数据类型-指针类型和空类型

指针类型指针是什么C语言的指针类型包括两方面的信息: 一是地址,存放在指针变量中; 二是类型信息,关乎于读写的长度,没有存储在指针变量中,位于用该指针读写时的mov指令中,不同的读写长度对应的mov指令不同 //定义int类型的指针 int* p = &i; 指针为什么要有类型?Answer: 因为指针存储的是一个内存地址,然而我们只根据一个地址读取对应的数据,但是你不知道

2017-07-31 11:55:47 2293

原创 C语言-构造数据类型

数组( C语言学习之数组 传送门)数组是同种类型元素的集合。一维数组1.1 一维数组定义int a[10]; 这样我们便定义了一个数组a,它分配10个int类型空间。1.2 数组的初始化我们可以在定义一个数组的同时对它进行初始化操作,例如: int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};甚至我们可以只对数组的部分元素进行初始化操作,例如: int

2017-07-27 18:52:16 7493

原创 C语言基本运算

一、算术运算符1. 加法运算符 + * 除了可以进行加法运算外,还可以表示正号:+5212.减法运算符 — * 除了可以进行减法运算外,还可以表示负号:—7413.乘法运算法符 * * 请注意符号不是X,而是* 4.除法运算符 / * 请注意符号不是÷,而是/ * 整数除以整数还是整数,1/2的值不是0.5而是 0。5

2017-07-26 16:59:52 1662

原创 C语言-基本数据类型

各种数据类型介绍(1)整型1.1 短整型 short a = 11.2 整型  一般占4个字节(32位),最高位代表符号,0表示正数,1表示负数,取值范围是-2147483648~2147483647,在内存中的存储顺序是低位在前、高位在后,例如0x12345678在内存中的存储如下:     地址:0x0012ff78  0x0012ff79  0x0012ff7a  0x0012

2017-07-26 15:20:41 1599

转载 iOS进阶之路

2017-07-26 14:49:12 232

原创 Runtime的使用7 【动态添加方法】

首先创建一个Dog类,然后添加两个C语言方法。//这是一个 C 语言的函数,它至少包含了 self 和 _cmd 两个参数(self 代表着函数本身,而 _cmd 则是一个 SEL 数据体,包含了具体的方法地址)void eat(id self,SEL sel){ NSLog(@"%@ %@",self,NSStringFromSelector(sel));}

2017-07-14 14:30:12 356

原创 Runtime的使用6 【归档、解档】

首先我们创建一个model类, 然后重写coder、encode。只是为了保存这个model而已。你也可以把dictionary等进行保存都是可以的。@interface MMModel : NSObject@property (nonatomic, assign) NSInteger age;@property (nonatomic, copy) NSString *na

2017-07-14 10:21:33 283

原创 Runtime的使用5 【对私有变量的修改】

首先我们创建一个Person类。属性name 方法、publicMethod是公共的。属性address、方法privateMethod是私有的。@interface Person : NSObject@property (nonatomic,copy) NSString *name;//公共的- (void)publicMethod;@end#import "

2017-07-13 18:55:35 327

原创 Runtime的使用4 【获取属性和方法(包括私有)】

以UIPageControl为例子。得到这个class所有的属性和所有的方法。#pragma mark - 获取所有的属性(包括私有的)- (void)getAllIvar { unsigned int count = 0; //Ivar:定义对象的实例变量,包括类型和名字。 //获取所有的属性(包括私有的) Ivar *ivars= class_co

2017-07-13 18:32:30 264

原创 Runtime的使用3 【字典转模型】

提到字典转模型,MJExtension类似这个库,用过的就晓得转成model是多么的便捷。本文就dictionary  -> model 略微介绍以下。首先,创建一个model类。@interface Model : NSObject@property (copy,nonatomic) NSString *name;@property (copy,nonatomic) N

2017-07-13 18:23:46 317

原创 Runtime的使用2 【method swizzling】

method swizzling 不想再多说什么了。 但是网上对于此的讲述大都是文绉绉、理解起来不是那么随性…特此稍微记一下,方便大家理解。代码贴一下,好参照对比一下。#import "UIImage+hook.h"#import <objc/runtime.h>@implementation UIImage (hook)+ (void)load { static dispatch_onc

2017-07-13 15:23:44 295

原创 Runtime的使用1 【 objc_setAssociatedObject 类添加属性】

以view的点击事件UIGestureRecognizer为例子,使用block的方式进行回调。首先我们创建一个UIGestureRecognizer的类别。#import typedef void(^MMGestureBlock)(id gestureRecognizer);@interface UIGestureRecognizer (Block)+ (instancetyp

2017-07-13 15:14:34 357

原创 简书上使用markdown

Markdown介绍Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。 Markdown语法的目标是:成为一种适用于网络的书写语言「易读易写」。并且Markdown兼容HTML。这个还是很nice的。想要学习更多关于Markdown的内容,传送门 http://www.appinn.com/markdown/简书上的Mark

2017-07-07 18:45:54 6799 3

空空如也

空空如也

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

TA关注的人

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