自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

原创 Unity-3D捕鱼达人小游戏开发 —— 起因和开始的设置以及准备工作

起因假期里的软件实践课,使用Unity-3D写一个游戏,试想也不能太low,但是奈何素材和资源太难找,在论坛上逛到了捕鱼达人的素材,便来试一试开始素材毕竟是从网上扒的,我觉得也不好放出来,存在网盘里,需要的话私信,有缘的话会看到的,不过这东西网上一大堆,随便也找得到。顺便提一句,该制作只用于学习,不拿出去骗钱,不过骗爸妈一点鼓励金还是可以的Unity-3D版本是2017.3...

2018-02-28 13:45:59 2879 2

原创 iOS - IBAction、IBOutlet以及UIVIew

IBAction和IBOutletIBAction是返回值,相当于void,只有返回值是IBAction的方法,才能和storyboard中的控件进行连线 只有声明为IBOutlet的属性,才能跟storyboard中的控件进行连线 为了保证控件不被其他地方修改,让其变成私有变量,将它放在.m文件中声明 使用weak的原因是已经有强指针指向他UIView控件...

2018-02-27 19:44:17 346

原创 iOS - UIWindow和view控制器的创建

iOS程序启动完毕后,创建的第一个试图控件就是UIWindow,接着创建控制器的view,最后将控制器的view添加到UIWindow上APPdelegate.m- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { ...

2018-02-27 00:36:44 268

原创 单例设计模式以及单例宏抽取

什么是单例 一个类只允许有一个实例,在整个程序中需要多次使用,共享同一份资源的时候,就可以创建单例,一般封装成工具类使用,苹果封装成单例常用的什么情况下使用单例类只能有一个实例,并且必须从一个为人熟知的访问点对其进行访问,比如类工厂方法这个唯一的实例只能通过子类化进行扩展,而且扩展的对象不会破坏客户端的代码设计要点某个类只有一个实例必须自行创建这个对象必须自行向整个系统提供这...

2018-02-26 20:04:45 145

原创 Copy

copy:创建的是不可变副本,需要遵守NSCopying协议mutableCopy:创建的是可变副本,需要遵守NSMutableCopying协议拷贝对象中的内容会和以前的对象中的内容一致 一般情况下拷贝会生成一个新的对象NSString *str = @"dashuabi";NSMutableString *copy = [str mutableCopy];NSLog(...

2018-02-21 16:16:34 203

原创 NSFileManager

可以用来进行常见的文件\文件夹操作[NSFileManager defaultManager]使用该方法创建出来的东西是单例1.判断一个文件或者是文件夹是否存在BOOL flag1 = [manager fileExistsAtPath:@"/Users/y1shichanganluan/Desktop/music"];NSLog(@"1. flag1 = %i", fl...

2018-02-21 15:11:41 146

原创 NSDate和NSCalendar

创建时间对象,以当前时间为标准//1.创建时间对象,以当前时间为标准NSDate *now = [NSDate date];在该时间基础上加上10s//2.在该时间基础上加上10snow = [now dateByAddingTimeInterval:10];获取当前时区//3.获取当前时区NSTimeZone *zone = [NSTimeZone ...

2018-02-17 15:22:52 173

原创 常见的结构体

NSPoint和CGPoint两者同义typedef CGPoint NSPoint;//CGPoint的定义struct CGPoint{ CGFloat x; CGFloat y;};typedef struct CGPoint CGPoint;typedef Float CGFloat;CGPoint代表二维平面中的一个点//创建CGPoint...

2018-02-17 14:23:03 183

原创 NSDictionary

创建单个创建NSDictionary *dict = [NSDictionary dictionaryWithObjects:(NSArray *) forKeys:(NSArray<id<NSCopying>> *)];多个创建NSDictionary *dict = [NSDictionary dictionaryWithObjects:...

2018-02-09 12:05:18 2103

原创 NSArray

使用注意只能存放任意OC对象,有顺序是不可变的,一旦初始化完毕,内容固定,不能删除里面的元素,也不能添加 - 创建方式NSArray *arr1 = [NSArray arrayWithObject:@"lalal"];//nil是结束符号,也可以保存对象NSArray *arr2 = [NSArray arrayWithObjects:@"lalal", @"...

2018-02-09 02:13:25 326

原创 NSString

NSString创建方法通过字符串常量创建:存储在字符串常量区,如果创建多个字符串常量,且内容一致,那么多个对象会指向同一块存储空间NSString *str1 = @"作者是个大帅逼";通过alloc init创建:存储在堆区NSString *str2 = [[NSString alloc] initWithFormat:@"作者是个大帅逼"];通过类工厂方法创建:存储在堆区...

2018-02-08 22:58:24 284

原创 protocol协议

作用:声明一些方法定义@protocol 协议名称//方法声明列表@end类遵守协议一个类可以遵守一个或者过个协议 任何类只要遵守了protocol,就相当于拥有了protocol的所有方法声明@interface 类名 : 父类 <协议名称1,协议名称2,...>@end和继承的区别继承之后就默认实现,protocol只有声明pro...

2018-02-08 14:21:10 236

原创 Block

Block是一种比较特殊的苹果官方推荐使用的数据类型,应用场景广泛动画多线程集合遍历网络请求回调 作用:用来保存某一段代码,可以在恰当的时候取出来调用,功能类似于函数格式返回值类型 (^block变量名)(形参列表) = ^{};//声明Block变量,type (^BlockName) (type, type);BlockName = ^(type na...

2018-02-08 03:01:33 119

原创 Category和Class Extension

Category是OC特有的语法作用可以在不修改原来类的基础上,为这个类扩充一些方法一个庞大的类可以分模块开发一个庞大的类可以由多个人来编写,更利于团队合作格式//CategoryName:分类的名称@interface ClassName(CategoryName)//NewMethod:新加的方法NewMethod;//不允许在类别中添加变量//声...

2018-02-08 02:18:39 241

原创 @property和@synthesize

@property在xcode4.4以前,编译器只要看到@property,就知道我们要生成某一个属性的getter/setter方法的声明 在4.4以后对@property进行增强,以后只要利用一个@property就可以同时生成setter/getter方法声明和实现,不必写@synthesize没有告诉@property要传入的参数赋值给谁,默认@property会将传入的值赋...

2018-02-08 01:38:08 189

原创 autorelease

调用autorelease会给对象发送一个消息,将对象放在自动释放池中,当自动释放池被销毁时,会对池子里面的所有对象做一次release操作autorelease会返回对象本身ClassName *p = [ClassName alloc] init];p = [p autorelease];调用autorelease方法后,对象的计数器不变原理 实际上只是把releas...

2018-02-08 01:23:18 192

原创 自定义构造方法

自定义一个init方法一定是一个对象方法一定返回id或者instancetype方法名称一定以init开头 - (instancetype)initWithInfo:(NSString *)info{ //先初始化父类 if(self = [super init]) { _info = info; } return se...

2018-02-08 01:08:07 353

原创 @class

作用:可以简单的引用一个类简单使用: @class className;仅仅是告诉编译器:className只是一个类;并不会包含这个类的所有内容具体使用 在.h文件中使用@class引用一个类在.m文件中使用#import包含这个类的.h文件 第一种应用场景如果都在.h中import,假如A拷贝了B,B拷贝了C,C被修改,那么B和A都需要重新拷贝如果在.h中使用@...

2018-02-08 00:34:43 187

原创 多对象内存管理

当A对象想使用B对象一定要对B对象进行一次retain,这样才能保证A对象存在B对象也存在,也就是说这样才能保证无论在什么时候在A对象中都可以使用B对象 当A对象释放的时候,一定要对B对应进行一次release,这样才能保证A对象释放了,B对象也会随之释放,避免内存泄漏有增就有减A对象中//setter- (void)setBClass:(BClass *)bclass...

2018-02-07 22:49:57 152

原创 SEL类型

作用SEL类型的第一个作用,配合对象/类来检查对象/类中有没有实现某一个方法//声明SEL类型SEL sel = @selector(funName);ClassName *p = [[ClassName alloc] init];//判断p对象中有没有实现-号开头的方法//如果p对象实现了ClassName方法那么就会返回YES//如果p对象没有实现ClassName方

2018-02-02 18:02:27 280

原创 自定义类工厂方法

类工厂方法用于快速创建对象的类方法,我们称之为类工厂方法 类工厂方法中主要用于给对象分配储存空间和初始化这块储存空间规范:一定是类方法方法名称以类的名称开头,首字母小写一定有返回值,返回值是id/instancetype自定义类工厂是苹果的一个规范,一般情况下,我们会提供自定义构造方法和自定义类工厂方法用于一个对象+ (instancetype)ClassNa

2018-02-02 14:22:11 543

原创 description方法

%@是用来打印对象,%@的本质是用来打印字符串 只要利用%@打印某个对象,系统内部默认就会调用父类的description方法 调用该方法,该方法就会返回一个字符串,字符串的默认格式可以重写description方法,返回我们需要打印的内容 只要使用%@打印对象,就会调用description- (NSString *)description{ return [NSS

2018-02-01 23:07:34 178

原创 init构造方法以及id和instancetype的区别

在OC中init开头的方法用途:用于初始化一个对象,让某个对象已创建出来就拥有某些属性和值init继承与NSObject,自定义初始化方法,就是将init方法重写,在init方法中初始化成员变量注意:必须先初始化父类,再初始化子类必须先判断父类是否初始化成功,只有父类初始化成功才能继续初始化子类返回当前对象的地址 - (instancetype)init{

2018-02-01 22:47:17 1512

原创 动态数据类型

静态数据类型特点:在编译时就知道变量的类型知道变量中有哪些属性和方法在编译的时候就可以访问这些属性和方法通过静态数据类型定义变量,如果访问了不属于静态数据类型的属性和方法,那么编译器就会报错动态数据类型在编译的时候编译器不知道数据的真实类型,只有在运行的时候才知道数据的真实类型如果通过动态数据类型定义的变量,如果访问了不属于动态数据类型的属性和方法,编译器不会报错

2018-02-01 19:09:00 2374

原创 getter-setter方法 和 自定义代码块

在类中需要定义些方法来来操作成员变量getter-setter方法就不用去想方法的名称了,并且,getter和setter的格式和写法都是固定的,而且还是程序员之间的一种规范,降低了程序员沟通成本setter方法作用:设置成员变量的值写法: setter方法一定是对象方法一定以set开头,并且set后面跟上需要设置的成员变量的名称去掉下划线,并且首字母大写一定没有

2018-02-01 13:41:39 727

原创 objective-c 项目模版修改

修改命令行模版在Finder中找到xcode,显示包内容 TemplateInfo.plist中修改即可修改模版内容 修改文件开始注释内容

2018-02-01 11:33:00 185

VA_X_Setup2212 vs2017可用

VA_X_Setup2212 vs2017可用 替换安装包内的VA_X.dll即可使用,记住关闭自动更新

2018-12-04

空空如也

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

TA关注的人

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