自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ring

Ring的笔记

  • 博客(33)
  • 收藏
  • 关注

原创 字典转换模型

     (1)模型就是专门用来存放数据的对象,即数据模型         优点:模型设置数据都是通过它的属性,属性名如果写错了,编译器会马上报错,因此保证了数据的正确性              使用模型访问属性时,编译器会提供一系列的提示,提高编码效率         - (NSArray *)dataArr{             //加载数据             if (_dataA...

2018-06-28 11:50:42 670

转载 获取相册权限导致应用崩溃

应用中获取相册权限应用崩溃crashlog如下:This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app’s Info.plist must contain an NSPhotoLibraryUsageDescription key ...

2018-06-12 10:59:05 838

原创 SEL类型

      1 SEL类型的第一个作用:配合对象/类来检查对象/类中有没有实现某一个方法        SEL sel = @selector(setAge:);        Person *p = [Person new];        BOOL flag = [p respondsToSelector:sel];        /* 判断p对象中有没有实现-号开头的setAge:方法   ...

2018-06-11 10:49:46 448

原创 类的启动过程

       (1)只要程序启动就会将所有类的代码加载到内存中, 放到代码区        load方法会在当前类被加载到内存的时候调用, 有且仅会调用一次        如果存在继承关系, 会先调用父类的load方法, 再调用子类的load方法     + (void)load     {         NSLog(@"Person类被加载到内存了");     }       (2)当当前类...

2018-06-05 14:16:32 241

原创 解压assets.car文件

安利一款软件,有图形界面,比cartool好用下载地址:https://github.com/devcxm/iOS-Images-Extractor/releases

2018-06-03 17:41:54 7380

原创 类工厂方法

       (1)用于快速创建对象的类方法, 我们称之为类工厂方法        类工厂方法中主要用于给对象分配存储空间和初始化这块存储空间        (2)规范: 1 一定是类方法                        2 方法名称以类的名称开头, 首字母小写                        3 一定有返回值, 返回值是id/instancetype         ...

2018-06-02 10:09:03 768

原创 instancetype与id的区别

       (1)instancetype == id == 万能指针 == 指向一个对象        1 id在编译的时候不能判断对象的真实类型          instancetype在编译的时候可以判断对象的真实类型        2  id和instancetype除了一个在编译时不知道真实类型, 一个在编译时知道真实类型以外, 还有一个区别          id可以用来定义变量,...

2018-06-02 10:07:03 1910

原创 new方法与alloc方法

    (1)new做了三件事情:        1 开辟存储空间(+ alloc 方法)        2 初始化所有的属性(成员变量)(- init 方法)        3 返回对象的地址    (2)alloc做了什么事情:         1 开辟存储空间        2 将所有的属性设置为0        3 返回当前实例对象的地址        //初始化成员变量, 但是默认情况下...

2018-06-01 14:58:47 676

原创 id类型

    (1)id是一个数据类型, 并且是一个动态数据类型        可以用于:1 定义变量                2 作为函数的参数                3 作为函数的返回值    (2)动态类型和静态类型               静态数据类型的特点:                1 在编译时就知道变量的类型, 有哪些属性和方法               2 在编译...

2018-06-01 14:56:48 6058

转载 automaticallyAdjustsScrollViewInsets失效问题

当升级到iOS 11的时候,发现UIScrollView 有莫名其妙的偏移了 可是明明设置了automaticallyAdjustsScrollViewInsets这是因为iOS 11为UIScrollView 添加了新的属性contentInsetAdjustmentBehavior 这是一个枚举找到UIScrollViewContentInsetAdjustmentNever 从来不自动调整和...

2018-05-31 14:35:44 835

转载 _int、NSInteger、NSUInteger、NSNumber的区别和联系

1、首先先了解下NSNumber类型:苹果官方文档地址: https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSNumber_Class/Reference/Reference.htmlNSNumber是NSValue的一个子类,它是一个对象来存储数字值包括bool型,它...

2018-05-31 12:16:57 107

原创 加载bundle中的图片

// 方法1UIImage *image = [UIImage imageNamed:@"MyTest.bundle/Test"]; // 方法2NSString *file1 = [[NSBundle mainBundle] pathForResource:@"MyTest.bundle/Test" ofType:@"png"];UIImage *image1 = [UIImag...

2018-05-31 11:54:28 1233

原创 property和synthesize

    (1)@porperty是一个编译器指令        在Xocde4.4之前, 可以使用@porperty来代替getter/setter方法的声明        也就是说我们只需要写上@porperty就不用写getter/setter方法的声明         编译器只要看到@property, 就知道我们要生成某一个属性的getter/setter方法的声明    (2)@synt...

2018-05-30 14:48:56 177

原创 实例变量修饰符

    (1)@public        可以在其它类中访问被public修饰的成员变量        也可以在本类中访问被public修饰的成员变量        可以在子类中访问父类中被public修饰的成员变量    (2)@private        不可以在其它类中访问被private修饰的成员变量        可以在本类中访问被private修饰的成员变量        不可以在...

2018-05-30 14:47:04 371

原创 - getter-setter方法

   (1)由于将来我们经常需要定义一些方法来操作成员变量,而每个方法都必须有一个有意义的名称,而想名字非常难,所以就有了getter-setter方法       getter-setter方法格式和写法都是固定的,所以只要有getter-setter方法我们就不用煞费心思的去想方法名称了,解决我们起名字难问题       并且getter-setter方法还是程序员之间的一种规范,以后别人只要...

2018-05-30 14:45:28 463

原创 匿名对象

   (1)匿名就是没有名字, 匿名对象就是没有名字的对象    (2)有名字的对象       只要用一个指针保存了某个对象的地址, 我们就可以称这个指针为某个对象       //p为Person对象       Person *p =[Person new];   (3)没有名字的对象       无论有没有名字, 只要调用new方法都会返回对象的地址       每次new都会新开辟一块存...

2018-05-29 10:46:47 239

原创 修改项目模版

   (1)修改项目模板以及main函数中的内容       /Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/Project Templates/Mac/Application/Command Line Tool.xctemplate/    (2)修改OC文件头部的描述信息     /Applications/...

2018-05-29 10:45:09 3492

原创 结构体作为对象的属性

        typedef struct {            int year;            int month;            int day;        } Date;        @interface Student : NSObject        {            @public            NSString *_name;     ...

2018-05-28 18:22:09 1201

原创 全局变量,局部变量和成员变量

    @interface Person : NSObject    {        int age;         //成员变量    }    @end        @implementation Person    @end    int a;              //全局变量        int b = 10;         //全局变量        int main(...

2018-05-28 18:19:44 1292

原创 通知的基本使用

    - 通知中心    (1)监听通知               XYCompany *com1 = [[XYCompany alloc] init];               com1.name = @“xieyang”;               XYPerson *p1 = [[XYPerson alloc] init];               p1.name = @“na...

2018-05-22 13:01:10 220

原创 block的基本使用

block的基本使用block的作用:保存一段代码block的声明://返回值(^block变量名)(参数)void(^block)();block的定义://第一种void(^block1)() = ^{      NSLog(@"调用了block1");};//第二种:如果没有参数,参数可以隐藏,如果有参数,定义的时候,必须要写参数,而且必须要有参数变量名void(^block2)(int) ...

2018-05-21 12:17:02 144

原创 block的两种使用场景

 1  保存代码//tableViewController.h#import "TableViewController.h"#import "CellItem.h"@interface TableViewController ()@property (nonatomic, strong) NSArray *items;@end@implementation TableViewContr...

2018-05-21 11:37:15 240

原创 通知在多线程中的使用

(1)通知的基本使用@property (nonatomic, weak) id observe;- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {    //监听通知(一定要先监听再发出通知, 否则监听不到通知)    //方式一    //Observer:观察者   ...

2018-05-20 12:04:49 551

原创 XML的解析

 XML全称是Extensible Markup Language,译作“可扩展标记语言”跟JSON一样,也是常用的一种用于交互的数据格式,一般也叫XML文档(XML Document)例如:<videos>    <videos name=“name1” length=“30” />    <videos name=“name2” length=“30” />...

2018-05-18 11:31:54 94

原创 JSON的解析

JSON是一种轻量级的数据格式,一般用于数据交互服务器返回给客户端的数据,一般都是JSON格式或XML格式(文件下载除外)JSON格式很像OC中的字典和数组例如:{“name”:”jack”, “age”:10}     {“names”:[“jack”,”rose”,”jim”]}注意:标准JSON格式中key必须用双引号     想要从JSON中挖掘出具体数据,必须对JSON进行解析,将JSO...

2018-05-18 11:22:06 91

原创 runtime:运行时机制

     (1)RunTime简称运行时。OC就是“运行时机制”,也就是在运行时候的一些机制,其中最主要的是消息机制             对于C语言,“函数的调用在编译的时候会决定调用哪个函数”             对于OC的函数,属于“动态调用过程”,在编译的时候并不能决定真正调用哪个函数,只有在真正运行的时候才会根据函数的名称找到对应的函数来调用             在编译阶段,O...

2018-05-17 14:53:21 646

原创 RunLoop

(1)基本作用:保持程序的持续运行                   处理App中的各种事件(比如触摸事件,定时器事件,Selector事件)                   节省CPU资源,提高程序性能(该做事时做事,该休息时休息)(2)RunLoop与线程    每条线程都有唯一的一个与之对应的RunLoop对象    主线程的RunLoop已经自动创建好了,子线程的RunLoop需要主...

2018-05-14 10:23:04 73

原创 NSCache

(1)NSCache是专门用来进行缓存处理的    1  NSCache时苹果官方提供的缓存类,具体使用和NSDictionary类似,在AFNetworking框架和SDWebImage框架中被用来管理缓存    2  苹果官方解释NSCache在系统内存很低时,会自动释放对象(但模拟器演示不会释放)       建议:接收到内存警告时主动调用removeAllObject方法释放对象    3...

2018-05-14 10:04:35 267

原创 SDWebImage框架的基本使用

(1)下载图片且需要获取下载进度#import "UIImageView+WebCache.h"- (void)download1 {    [self.imageView sd_setImageWithURL:[NSURL URLWithString:@“url”] placeholderImage:[UIImage imageNamed:@"timg"] options:0 progres...

2018-05-14 09:55:41 202

原创 AFNetworking框架的基本使用

//// ViewController.m// AFN//// Created by 谢暘 on 2018/5/11.// Copyright © 2018年 谢暘. All rights reserved.//#import "ViewController.h"#import "AFNetworking.h"#define Kboundary @"----WebKit...

2018-05-13 16:36:18 867

原创 类方法与对象方法

   //只需要将对象方法的-号换成+, 那么就定义了一个类方法 + (int)sumWithValue:(int)value1 andValue2:(int)value2; //声明 + (int)sumWithValue:(int)value1 andValue2:(int)value2 //实现 { return value1 + value2;...

2018-05-13 16:28:34 302

原创 OC中如何编写类的声明和实现

   类的声明:      @interface Iphone : NSObject {          @public       float _model;        int _cpu;        double _size;        int _color;    }   - (void)about;   @end   类的实现:@implementatio...

2018-05-13 16:21:49 788

原创 OC与C语言的一些区别

    - Foundation.h   (1)我们称之为主头文件, 主头文件中又拷贝了该工具箱中所有工具的头文件, 我们只需要导入主头文件就可以使用该工具箱中所有的工具, 避免了每次使用都要导入一个对应的头文件   (2)工具箱的地址: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer...

2018-05-13 16:16:23 1486

空空如也

空空如也

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

TA关注的人

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