IOS
damys
态度决定一切,积累决定层次,思维决定行为,习惯决定命运
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ISO----Mac键盘修饰键,Xcode常用快捷键
Mac键盘修饰键,Xcode常用快捷键原创 2022-12-29 15:45:17 · 617 阅读 · 0 评论 -
IOS----macOS系统上安装,使用Git,常用可视化工具
macOS系统上安装,使用Git,常用可视化工具原创 2022-12-29 15:37:41 · 2713 阅读 · 0 评论 -
OC----结构体与类
1.1 相同点: 都可以将多个数据封装为一个整体struct Data{ int year; int month; int day;} @interface Date : NSObject{ int year; int month; int day;}@end;1.2 不同点: 结构体只能封装数据, 而类不仅可以封装数据,还可以...原创 2018-12-28 15:26:23 · 530 阅读 · 0 评论 -
OC----类加载
在执行时, Student *stu1 = [Student new] 会作类加载,加载项有: 1. Student 自己定义的属性,方法 2. Person 类(_name, - (void)say...) 3. NSObject 类(isa, description,..)所有子类对象中有自己的属性,方法,与所有父类的属性,方法 [stu1 say] 执行的...原创 2018-12-28 15:25:21 · 264 阅读 · 0 评论 -
OC----如何拿到存储在代码段中类的对象
如何拿到存储在代码段中类的对象a) 调用类的类方法 class 就可以得到存储类的类对象的地址b) 调用对象的对象方法 class 就可以得到存储这个对象所属的类的Class对象的地址.c) 对象中的isa指针的值其实就是代码段中存储类的类对象的地址.注意: 声明Class指针的时候 不需要加* 因为在typedef的时候已经加了*了.如何使用: Class c1 = [Pers...原创 2018-12-28 15:27:30 · 337 阅读 · 0 评论 -
OC---- selector 选择器
SEL 全称叫 selector 选择器, 是一个数据类型(其实是一个类), 所以要在内存中申请空间存储数据3.1 类是以Class对象的形式存储在代码段之中. 类名:存储的这个类的类名. NSString 3.2 还要将方法存储在类对象之中.如何将方法存储在类对象之中. 1). 先创建1个SEL对象. 2). 将方法的信息存储在这个SEL对象之中. ...原创 2019-01-04 10:23:09 · 1102 阅读 · 0 评论 -
OC----点语法
对象名.去掉下划线的属性名; p1.name = @"jack"; 这个时候就会将@"jack"赋值给p1对象的_name属性. NSString *name = p1.name; 把p1对象的_name属性的值取出来. 4.1 原理: p1.age = 18; 这句话的本质并不是把18直接赋值给p1对象的_age属性. 点语法在编译器编译的时候.其实会...原创 2019-01-04 10:25:39 · 786 阅读 · 0 评论 -
OC----动态类型的检测
动态类型的检测10.1 OC 编译器: LLVM 编译器在编译的时候. 判断1个指针是否可以调用指向的对象的方法.判断的准则就是指针的类型. [(Person*)obj1 say]; 可以很轻松的把编译器给骗过,程序运行是还会做检查 10.2 我们就希望.我们可以写代码来先判断1下.对象中是否有这个方法.如果有再去执行.如果没有就别去执行. 1). 判断对象中是否有这个方...原创 2019-01-18 10:13:05 · 742 阅读 · 0 评论 -
OC----property 关键字
@property 关键字5.1 问题:setter, getter的声明是没有什么任何技术含量5.2 作用: 自动生成setter, getter 方法声明5.3 语法: @property 数据类型 名称; 如:@property int age; 5.4 原理:编译器在编译的时候.会根据@property生成getter和setter方法的实现. @property 数据...原创 2019-01-14 10:17:37 · 376 阅读 · 1 评论 -
OC----synthesize 关键字
@synthesize 关键字6.1 问题: setter, getter的实现也是没有什么任何技术含量6.2 作用: 自动生成getter、setter方法的实现.6.3 语法: @synthesize @property名称; 如: @interface Person : NSObject{ int _age; } @property int age;...原创 2019-01-14 10:21:13 · 1163 阅读 · 1 评论 -
OC----动态类型和静态类型
动态类型和静态类型8.1 OC是1门弱语言. 编译器在编译的时候.语法检查的时候没有那么严格.不管你怎么写都是可以的 int num = 12.12; 优点: 灵活 咋个行都写. 缺点: 太灵活 强类型的语言: 编译器在编译的时候 做语法检查的时候 行就是行 不行就是不行. 8.2 静态/动态类型 静态类型:指的是1个指针指向的对象是1个本类对...原创 2019-01-16 09:25:53 · 848 阅读 · 0 评论 -
OC----id 类型
id 类型9.1 NSObject: 是OC中所有类的基类.根据LSP NSObject指针就可以指向任意的OC对象. 所以.NSObject指针是1个万能指针.可以执行任意的OC对象. 缺点: 如果要调用指向的子类对象的独有的方法.就必须要做类型转换. 9.2 id指针: 是1个万能指针,可以指向任意的OC对象. 1) id是1个typedef自定义类型 在定...原创 2019-01-16 09:26:50 · 1786 阅读 · 0 评论 -
OC----构造方法
构造方法11.1 创建对象, 类名 *指针名 = [类名 new]; new实际上是1个类方法. 1. new方法的作用:创建对象。初始化对象, 把对象的地址返回. 2. new方法的内部,其实是先调用的alloc方法. 再调用的init方法. alloc方法是1个类方法,作用: 那1个类调用这个方法 就创建那个类的对象,并把对象返回. ...原创 2019-01-22 16:14:56 · 279 阅读 · 0 评论 -
OC----内存管理,内存的作用
内存的作用:存储数据.1) 如何将数据存储到内存之中.声明1个变量.然后将数据存储进去.2) 当数据不再被使用的时候,占用的内存空间如何被释放. 1.1 内存中的五大区域 栈: 局部变量. 当局部变量的作用域被执行完毕之后,这个局部变量就会被系统立即回收. 堆: OC对象.使用C函数申请的空间. BSS段: 未初始化的全局变量、静态变量. 一旦初始化...原创 2019-01-22 16:16:04 · 524 阅读 · 0 评论 -
OC----内存管理,对象被回收,引用计数器
1.2 内存管理的范围:只需要管理存储在堆中的OC对象的回收.其他区域中的数据的回收是系统自动管理的.1.3 对象应该什么时候被回收?当有人使用这个对象的时候,这个对象就千万不能回收.只有在没有任何人使用这个对象的时候,才可以回收.1.4. 引用计数器1) 每1个对象都有1个属性叫做retainCount(引用计数器). 类型是unsigned long 占据8个字节. 引...原创 2019-02-12 09:41:50 · 559 阅读 · 0 评论 -
OC----操作引用计数器
1.5. 如何操作引用计数器.1) 为对象发送1条retain消息. 对象的引用计数器就会加1. 当多1个人使用对象的时候才发.2) 为对象发送1条release消息.对象的引用计数器就会减1. 当少1个人使用对象的时候才发.3) 为对象发送1条retainCount消息. 就可以去到对象的引用计数器的值. 就这样++ --, 当对象的引用计数器变为0的时候,对象就会被系统立即回收....原创 2019-02-12 09:42:53 · 645 阅读 · 0 评论 -
OC----内存管理
-------------------------- Person 类-------------------------@interface Person : NSObject@property NSString *name; - (void)say;@end @implementation Person//相关于析构函数- (void)dealloc{ NSLog(...原创 2019-04-08 10:18:23 · 299 阅读 · 0 评论 -
OC----内存管理的分类
2.1 MRC: Manual Reference Counting 手动引用计数.手动内存管理.当多1个人使用对象的时候,要求程序员手动的发送retain消息.少1个人使用的时候程序员手动的发送relase消息.2.2 ARC: Automatic Reference Counting 自动引用计数.自动内存管理.(2011年之前 iOS5之前.)系统自动的在合适的地方发送retain ...原创 2019-04-08 10:19:04 · 322 阅读 · 0 评论 -
OC----内存管理的重点
3.1. 什么时候为对象发送retain消息. 当多1个人使用这个对象的时候,应该先为这个对象发送retain 消息. +1 3.2 什么时候为对象发送releaee消息. 当少1个人使用这个对象的时候.应该为这个对象发送1条release 消息. -1 3.3 在ARC机制下,retain, release, dealloc 这些方法方法无法调用. 3.4 内存管理的...原创 2019-04-08 10:27:21 · 230 阅读 · 0 评论 -
OC----野指针与僵尸对象
野指针与僵尸对象4.1 野指针 C语言中的野指针: 定义1个指针变量.没有初始化.这个指针变量的值是1个垃圾值,指向1块随机的空间.这个指针就叫做野指针. OC中 的野指针: 指针指向的对象已经被回收了.这样的指针就叫做野指针. 4.2 对象回收的本质. a) 申请1个变量,实际上就是向系统申请指定字节数的空间.这些空间系统就不会再分配给别人了. b) 当变...原创 2019-05-24 09:16:35 · 709 阅读 · 0 评论 -
OC----单个对象的内存管理
单个对象的内存管理5.1 内存泄露. 指的是1个对象没有被及时的回收.在该回收的时候而没有被回收 一直驻留在内存中,直到程序结束的时候才回收. 5.2 单个对象的内存泄露的情况. 1) 有对象的创建,而没有对应的release 2) retain的次数和release的次数不匹配. 3) 在不适当的时候,为指针赋值为nil 4) 在方法中为传入...原创 2019-05-24 09:17:11 · 231 阅读 · 0 评论 -
OC----setter 方法的内存管理
setter 方法的内存管理案例: Jack开车去旅行.人类: 属性:(车). 行为:(开车), 人有一辆人,将车作为人的属性 车类: 属性:(速度). 行为:(行驶) 6.1 当属性是1个OC对象的时候. setter方法的写法. 将传进来的对象赋值给当前对象的属性,代表传入的对象多了1个人使用,所以我们应该先为这个传入的对象发送1条retain消息后再赋值 当前...原创 2019-06-06 09:01:31 · 321 阅读 · 0 评论 -
OC----在MRC的开发模式下.1个类的属性如果是1个OC对象类型的.属性的setter方法
在MRC的开发模式下.1个类的属性如果是1个OC对象类型的.那么这个属性的setter方法就应该按照下面的格式写.最终格式: - (void)setCar:(Car *)car{ if(_car != car){ [_car release]; _car = [car retain]; } } ...原创 2019-06-06 09:03:02 · 267 阅读 · 0 评论 -
IOS----OC 相对于C: 数据类型
OC 中支持C语言中的所有数据类型 1. 基本数据类型: int, double, float, char 2. 构造类型 : 数组, 结构体, 枚举 3. 指针类型 : int *p1 4. 空类型 : void 5. typedef 自定义类型: typedef int moneyOC 类型 1. BOOL 类型: 可以存储Y...原创 2018-07-06 09:06:46 · 452 阅读 · 0 评论 -
Swift----安装,简介
目前最新的稳定版是 Swift 0.94.1翻译 2014-06-03 15:41:11 · 3417 阅读 · 0 评论 -
HTML----常用HEAD头标
DOCTYPEDOCTYPE(Document Type),该声明位于文档中最前面的位置,处于 html 标签之前,此标签告知浏览器文档使用哪种 HTML 或者 XHTML 规范。DTD(Document Type Definition) 声明以 开始,不区分大小写,前面没有任何内容,如果有其他内容(空格除外)会使浏览器在 IE 下开启怪异模式(quirks mode)渲染网页。翻译 2015-01-20 20:46:58 · 1717 阅读 · 0 评论 -
IOS----向用户征询iOS授权的五种常见设计模式
对于iOS app,当功能涉及到推送通知、访问照片或调用相机、获取地理位置等等时,都需要向用户申请授权。申请会发生在app运行的过程中,而不是像Android那样在安装的时候就莫名其妙的问用户是否同意app调用某些系统功能。不过如今Android也在向iOS的方式靠拢。对于产品设计方而言,这里最大的问题在于,iOS只给你一次机会去征询授权 – 一旦那些缺乏耐心和理性的用户(多数用户)出于无翻译 2015-12-28 09:10:09 · 732 阅读 · 0 评论 -
IOS----Objective-C中JSON解析与XML解析
IOS----Objective-C中JSON解析与XML解析原创 2015-12-31 10:24:41 · 1870 阅读 · 0 评论 -
OC----Masonry 自动布局
Masonry 中的坑 1. 在使用Masonry添加约束之前,需要在addSubview之后才能使用,否则会导致崩溃。 2. 在添加约束时初学者经常会出现一些错误,约束出现问题的原因一般就是两种:约束冲突和缺少约束。对于这两种问题,可以通过调试和log排查。 3. 之前使用Interface Builder添加约束,如果约束有错误直接就可以看出来,并且会以红色或者黄色警告体现出来。而Maso原创 2017-01-10 10:27:31 · 3130 阅读 · 0 评论 -
OC----类的声明,实现与调用
类的声明与实现#import <Foundation/Foundation.h>//声明@interface Person : NSObject{//属性的声明 @public //外部可以访问。默认是不能访问的 NSString *_name; int _age; float _height;}- (void) run;原创 2017-09-06 10:36:48 · 611 阅读 · 0 评论 -
OC----NSSting,通过类名调用
NSSting 是Foundation 框架中的1个类,作用:存储OC字符串完整的标准的创建NSSting 对象方式, 其str 是对象的地址. @p(指针变量的值), %@(指针指向的对象) 1. NSString *str1 = [NSString new]; 2. NSString *str2 = [NSString string]; 3. 创建空的字符串:@""; 如:原创 2017-09-06 10:42:02 · 690 阅读 · 0 评论 -
OC----类的调用
int main(int argc, const char * argv[]) { NSLog(@"hello OC"); //2016-07-17 15:00:17.315 01 oc 语法基础[582:16086] hello OC //时间---------------------程序名-----进程编号:线程编号--输出信息 Person *perso...原创 2018-07-09 09:09:31 · 634 阅读 · 0 评论 -
OC----内存管理:内存5大区域
栈区域: 系统自动分配. 存储局部变量 如:int num=10, int* p=&num。 num 与 p 都存储在栈区域堆区域: 允许程序员手动的从堆申请空间来使用,要主动释放。除非程序结束 如:int 4, float 4…. malloc,calloc …BSS段区域: 存储未初始化的全局变量/静态变量,因程序运行时其全局/静态变量都没有初始化数据段/常量区:存储已...原创 2018-07-09 09:12:28 · 861 阅读 · 0 评论 -
IOS----OC 相对于C: 指令,源文件,编译比较
OC 相对于C a) 在C的基础上新增了1小部面对象的语法 b) 将C 复杂的,繁琐的语法封装的更为简单 c) OC完全兼容C语言CO 与C 源文件: OC 文件:源文件为.m m代表message 代表OC中最重要的1个机制,消息机制 C 文件:源文件为.cmain 函数仍然是OC程序的入口和出口 int 类型是返...原创 2018-07-06 09:05:26 · 349 阅读 · 0 评论 -
Swift----编程语言语法
1 简介今天凌晨Apple刚刚发布了Swift编程语言,本文从其发布的书籍《The Swift Programming Language》中摘录和提取而成。希望对各位的iOS&OSX开发有所帮助。Swift是供iOS和OS X应用编程的新编程语言,基于C和Objective-C,而却没有C的一些兼容约束。Swift采用了安全的编程模式和添加现代的功能来是的编程更加简单、灵活和有翻译 2014-06-03 15:54:42 · 2032 阅读 · 0 评论 -
IOS----OC 独有 - 类型
1. NSString 类型的指针变量,专门用来存储OC字符串的地址 OC的字符串常量前要有:@符号 C语言的字符串: "Tom" OC的字符串 : @"Tom" 完整表示: NSString *name = @"Tom";2. @autoreleasepool: 是自动释放池, 可用用,也可以不用...原创 2018-07-06 09:07:46 · 164 阅读 · 0 评论 -
IOS----OC 独有 - 类
作用:描述1群有相同特征和行为的事物设计类的三要素:类名,特征,行为问题:是先有类,还是对象 从现实的角度:一定是先有对象再有类 从代码的角度:一定是先有类再有对象位置:直接写在源文件之中,不要写在main 函数中定义:有两部分,一是声明,二是实现注意: 1. 类必须有声明与实现 2. 类名首字母大写, 加上NSObject 3. 为类定义属性...原创 2018-07-06 09:09:07 · 251 阅读 · 0 评论 -
IOS----类的声明与实现
#import <Foundation/Foundation.h>//声明@interface Person : NSObject{//属性的声明 @public //外部可以访问。默认是不能访问的 NSString *_name; int _age; float _height;}- (void) run; ...原创 2018-07-06 09:10:07 · 1306 阅读 · 0 评论 -
OC----static,self 关键字
重点内容C 语言可以修饰局部变量,变为静态变量,可以修饰常量,方法OC 语言中不能修饰属性,方法, 可以修改方法中的局部变量,就变成为静态变量,存储在常量区 如果当前方法返回值是当前类的对象,就是:instancetype 类型self 关键字 1. 在方法内部可以定义一个与属性相同的局部变量, 调用这个方法时访问的是局部变量,用self->_name 访问类的属性...原创 2018-09-10 09:18:44 · 297 阅读 · 0 评论 -
OC----继承
继承:不用自己去定义,继承只是类在继承,子类拥有所有父类的所有成员,属性. XCode 创建时可以选择父类 语法: @interface 类名: 父亲的名称 子类:继承类,派生类. NSObject 是所有类的父类, 只有此类有new 方法,还有属性isa 指针 使用场景: 1. 发现一个类的成员,我与要使用, 不要为继承而继...原创 2018-09-10 09:19:56 · 265 阅读 · 0 评论
分享