- 博客(29)
- 资源 (1)
- 收藏
- 关注
原创 oc中自定义结构体
OC中自定义结构体1. 方式一//自定义一个结构体struct WSBounds{ CGFloat WSWidth; CGFloat WSHeight;};//自定义类型起别名typedef struct WSBounds WSBounds;//快速创建结构体static inline WSBounds WSBoundsMake(CGFloat width, CGFloat
2015-12-14 23:36:09
3181
原创 Xcode快捷键汇总
一. 苹果常用快捷键图标二. Xcode基本快捷键 1.新建项目shift+CMD+n 2.项目中新建文件CMD+n 3.运行CMD+r 4.编译CMD+b 5.停止运行CMD+. 6.清除缓存shift+CMD+k 7.左缩进CMD+ [ 8.右缩进CMD+ ] 9.关闭项目CM
2015-12-01 23:05:51
1165
原创 UICollectionViewFlowLayout流布局制作图片瀑布流
通过自定义UICollectionViewFlowLayout来实现一个购物网站的图片瀑布流。效果预览图: CollectionView和流布局的结合,实现图片瀑布流,视觉上看起来非常让人赏心悦目,也让人开启来非常舒服和轻松,瀑布流是一种非常成功地图片展示方式。 流布局最核心的特征是定宽之后,然后等比例(高宽比)缩放图片。我们可以根据屏幕的宽度,特定的
2015-11-27 20:19:21
895
原创 iOS 导出CSV文件(CSVWriter)
CSV全称 Comma Separated values,是一种用来存储数据的纯文本文件格式,通常用于电子表格或数据库软件。用Excel或者Numbers都可以导出CSV格式的数据CSV文件的规则: 0. 开头是不留空,以行为单位。 1. 可含或不含列名,含列名则居文件第一行。 2. 一行数据不垮行,无空行。 3. 以半角符号,作分隔符,列为空也要表达其存在。
2015-10-01 16:46:37
4074
原创 【OC笔记】block的用法
block是OC的一个特殊类型。block类型在Xcode编译器中输入inlineBlock快速创建。用法:无参无返回值的block void(^myBlock)() = ^() { NSLog(@"my Block"); }; myBlock();有参无返回值void(^myBlock1)(int x,int y) = ^(int
2015-08-17 08:09:08
545
原创 【OC笔记】分类和延展
分类是对原有类的一种扩展,在分类里可以给原类添加方法,但是不能添加属性。延展(扩展)是一种匿名的分类,即:分类名为空,在延展中可以给类扩展方法和属性,这些方法和属性是相对私有的,不能被继承。相对私有:调用头文件即可使用。非正式协议:NSObject类,或者Foundation框架中的类的分类,叫做非正式协议。用于自己定义的类的分类不能称之为非正式协议。协议:OC中的协议类似于Java中的接口,在协
2015-08-17 08:09:05
637
原创 【OC笔记】MRC中多对象内存管理以及循环retain
一、多对象内存管理要点:对象中类类型的属性以及NSSting类型属性的内存管理问题,以及多对象内存管理注意事项。代码示例:Person类的声明和实现@interface Person : NSObject{ //姓名 NSString *_name; //年龄 int _age; //房间 Room *_room;}//setter方法声明-(v
2015-08-17 08:09:03
731
原创 【OC笔记】关于MRC中的注意问题
一、程序代码:#import //Person类的声明@interface Person : NSObject@property (nonatomic,retain) Dog *dog;@end//Person类的实现@implementation Person- (void)dealloc{ NSLog(@"self:%@ --%@",self.dog,_dog); //self.
2015-08-17 08:09:00
518
原创 【OC语言】第十篇·NSFileManager、NSDate、沙盒、copy以及单例模式
一、NSFileManger 1. NSFileManager的目录属性用法: NSString *filePath = @"/Users/Mac-leaf/Desktop/arr.plist"; NSString *filePath2 = @"/";
2015-08-17 08:08:57
836
原创 【OC语言】第九篇·NSString,NSArry,NSDictionary
一、Foundation 1. 框架:框架是由许多类、方法、函数、文档按照一定的逻辑组织起来的集合。 2. 作用: 1) Foundation框架是Mac/iOS中其它框架的基础 2)Foundation框架中包含了许多开发中常用的数据类型 3. 使用:
2015-08-17 08:08:55
827
原创 【OC语言】第八天·block和Protocol
-一、block 1. 格式: 1) 有参有返回值 格式: 返回值类型 (^变量名)(参数类型及个数) = ^(形参列表){ 代码块语句;
2015-08-17 08:08:52
440
原创 【OC语言】第七篇·ARC和分类
一、自动释放池 1.使用注意: 1)并不是所有放到释放池中的代码,产生的对象就会自动释放。如果需要释放,必须加入到自动释放池。 Person *p = [[Person new] autorelease]; 2)如果对象调用了autorelease,但是没有在任意一个
2015-08-17 08:08:50
583
原创 【OC语言】第六篇·内存管理
一、内存管理 1. 为什么要进行内存管理 移动设备的内存极其有限,所以每个APP所占的内存也是有限制的,当app所占用的内存较多是,系统就会发出内存警告,每个app可以用的内存是被限制的,如果内存超过20M,系统就会对该APP发出Memeory Warning消息。收到此消息需要回
2015-08-17 08:08:47
491
原创 【OC语言】第五篇·@property和@synthesize关键字、动态类型检测和构造方法
一、点语法 1. 对象.属性名 2. 注意:对象.属性名并不是直接访问实例变量,而是Xcode看到点语法后,会帮我们自动替换成属性的set方法或get方法(根据点语法在=前后判断)。 3. 编译器特性,Xcode帮我们做代码替换。 4. 点语法的本质是方法的调用,而不是成员
2015-08-17 08:08:44
654
原创 【OC语言】第四篇·类的继承、多态、类对象以及SEL类型
一、self和super 1. OC中两个保留字self和super,用于在方法定义中引用该方法的对象。 2. super发送消息可以将方法实现分发其父类,可以重写一个已有的方法来修饰或将它添加到现有的方法中,仍然可以将原始的方法纳入到修改后的方法中。 3. self的应用场景:
2015-08-17 08:08:39
700
原创 【OC语言】第三篇·类方法的使用、匿名类以及封装
一、类方法 1. 概述: 1)实例方法就是一个方法,它在类的是实例范围内执行。即:在调用实例方法前,必须创建一个类的实例。 2)类方法不需要创建实例。 3)+表示类方法,就是类调用方法,不依赖任何对象的方法。-表示是实例方法。 2. 类方法调用
2015-08-17 08:08:37
920
原创 【OC语言】第二篇·对象的作用、字符串类型以及多文件开发
一、对象的存储 1、Person *p = [Person new] 对Person类实例化的时候做了三件事 1)申请内存空间 2)给实例变量初始化 3)返回空间首地址 注意: 1)用new 的时候申请的的空间在内存的堆区(程序动态分配的内存
2015-08-17 08:08:33
553
原创 【OC语言】第一篇·Objective-C概述和面向对象
一、 OC语言简介 1. Objective-C是面向对象语言。简称:OC,Obj-C。 2. 遵从ANSI C标准C语法,同时使用了Smalltalk方法。 3. 1986年Stepstone公司发布OC。 4. 1988年乔布斯获得OC使用版权用在NeXT,用OC编写
2015-08-17 08:08:31
1078
原创 C语言通讯录
功能:查看联系人,添加联系人,修改联系人,删除联系人,查找联系人,退出系统思维导图: 程序代码:/* C语言通讯录 功能:查看联系人,添加联系人,修改联系人,删除联系人,搜索联系人*/#include #include #define NUM 100 //通讯录中可存储联系人个数#define CON struct contactsint count = 0; //通讯录中的总人数str
2015-08-17 08:08:28
792
原创 【C语言】第十篇·文件操作
一、static和extern关键字 1. 概述: 1)static和extern都是用来修饰变量的。(局部的static变量也是全局的) 2)static修饰的变量,只有包含该变量的源代码文件可以访问。(内部变量) 3)extern定义的变量,任何一个源
2015-08-17 08:08:26
785
原创 【C语言】第九篇·枚举、定义类型和宏定义
一、枚举类型 1. C语言提供了一种称为“枚举”的类型。在枚举类型中列举出所有可能的取值,被说明为该枚举类型的变量的取值不能超过定义的范围。 2. 枚举类型属于基本数据类型,而不是一种构造类型,因为它不能分解为任何基本数据类型。 3. 定义:enum 枚举类型名{枚举值表};
2015-08-17 08:08:23
1382
原创 【C语言】第八篇·内存管理和结构体
一、const 关键字 1.概述:const是一个类型修饰符,使用const关键字修饰变量可以使变量的值不能被改变。常类型是指被类型修饰符const说明的类型,常类型修饰的变量或者对象的值是不能被更新的。 2.作用: 1)可以定义const常量,具有不可变性。
2015-08-17 08:08:21
995
原创 【C语言】第七篇·指针
一、指针概述 1. 指针概念: 内存单元的编号叫做地址,我们根据内存单元的编号或者地址可以找到所需要的存储单元,我们把这个地址叫做指针。 对于一个内存单元来说,该内存单元的地址就是指针,其中存放的数据才是该内存单元的内容。 2.使用指针的优点:
2015-08-17 08:08:18
417
原创 【C语言】第六篇·数组
一、数组基本概念 1.在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。 在C语言中,数组数据构造类型。 2.按存储内同分类:数值数组,字符数组,指针数组,结构数组 3.按维度分类:一维
2015-08-17 08:08:16
2958
原创 【C语言】第五篇·进制转换
一、计算机中的进制 是一种计数方式,数值的表示形式二、常见的进制 二进制、十进制、八进制、十六进制三、进制的书写形式 二进制:0b/0B+数值 十进制:数值 八进制:0+数值 十六进制:0x+数值四、进制转换 1.进制转换三要素
2015-08-17 08:08:13
1028
原创 【C语言】第四篇·函数调用
一、函数 1.函数: 能够完成特定功能的代码段 2.函数定义一般形式: 返回值类型 函数名(形式参数列表) { 声明部分 语句部分 } 3.作用:1)提高代码的可读性 2)提高代码的重用性 4.函
2015-08-17 08:08:08
713
原创 【C语言】第三篇·基本程序结构
一、程序的三种基本结构 1. 顺序结构:程序自上而下顺序执行 2.选择结构:程序中出现多个选择,但只能选择一种。例如:if、switch 3.循环结构:根据条件程序重复执行某一段代码。例如:while、for二、if语句 1.
2015-08-17 08:08:04
622
原创 【C语言】第二篇·输入输出和运算符
一、输入输出 C语言中的主要输入输出函数printf和scanf。在使用这两个函数的时候,尽量要包含一个”stdio.h“的标准输入输出头文件。1.printf 1)使用格式: printf("格式控制字符串",变量列表); 2)格式控制符:
2015-08-17 08:07:59
2599
原创 【C语言】第一篇·C语言概述和数据类型
一、C语言概述:1. 语言分类: 低级语言:机器语言(0、1代码组成),汇编语言(ADD A,B用助记符来代替0、1指令)。 高级语言:FORTRAN和ALGOL(适合数值计算),BASIC和QBASIC(适合初学者的小型会话语言),COBOL(适合商业管理),P
2015-08-17 08:07:54
615
iOS CSV文件导出,保存
2015-10-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅