自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jlstmac的开发笔记

用力的工作,用力的玩

  • 博客(48)
  • 资源 (2)
  • 收藏
  • 关注

原创 UIViewController中addChildViewController的坑:viewWillAppear不调用

项目中有一个需求是,需要在一个父UIViewController中,加载一个子ViewController。我这里是用的方式是:    [self addChildViewController:_baseVC];    [self.view addSubview:_baseVC.view];这里有个坑就是:子viewcontroller的viewWillAppear不会被调

2016-09-02 15:31:06 2361 1

原创 UITableView性能优化之cell的高度缓存

复杂的feed流通常是cell的高度不固定的,比如微博,微信,它们的高度需要根据内容计算的。滑动的时候动态计算肯定会影响速度,所以最好的做法是,在获取到数据的时候,就能计算所有cell的高度然后缓存起来。在heightForRowAtIndexPath方法里,只是根据indexpath去取高度就行了。但是,这就要求我们实现只是根据数据就能计算cell高度的接口。如果,你不想实现这个接口,或者实

2016-09-02 12:21:59 723

原创 UITableView性能优化之estimatedHeightForRowAtIndexPath

- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath这个方法是iOS7之后增加的,作用就是优化UITableView的性能,确切的说就是减少UITableView加载时的时间。原理:这个方法之所以能起到优化作用原因在于-(

2016-02-16 16:01:31 4390

原创 git命令学习笔记

来了新公司,不能用sourceTree了,只能用命令行了。之前习惯了可视化操作,对于命令只是略知一二,没办法从头开始学习咯!!!本人新手写错了,一定请大家留言指正!!从常用的学起:1.git diff和git status提交代码前得先确认做了些什么改动吧。git status查看当前状态:一目了然,然后查看做了什么改动:git diff,按enter查看下一行,按

2016-02-05 16:21:50 423

原创 UIView各种属性解析!

UIView作为iOS中界面元素的基类,几乎所有应用中的所有可见元素都是基于UIView的!学习iOS的UI,得从UIView学起!!!1.关于位置和大小@property(nonatomic)CGRect            frame;frame表示UIView的位置和大小,其中位置是以左上角为锚点的@property(nonatomi

2016-02-04 15:33:26 411

原创 UIView的动画 Animation

我们可以运用UIView的动画(Animation)来实现一些UI的动画效果。这对于用户体验和引导用户使用有很好的作用。基本的动画变化:1.位移:通过改变view.center的值来实现 self.blueSquare.center.x = self.view.bounds.width - self.blueSquare.center.x2.放大缩小:通过view.tr

2016-01-04 19:20:34 431

原创 Objective-c的kvo和kvc

kvc(key value coding),键值编码,提供一种间接访问属性的方法,而不通过setter和getter函数(破坏了封装)kvo(key value observer),键值观察,观察者模式,在键值改变的时候观察者会得到通知。基于kvc的

2015-12-14 22:44:32 309

原创 objective-c的ARC机制,strong和weak

ARC是iOS5后引入的,这是编译器特性而不是OC的语言特性。ARC的实质就是由编译器自动实现retain,release,dealloc。其实质还是引用计数,只是我们不需要显示的去调用引用计数相关函数而已。在ARC后有四种所有权修饰符:__strong,__weak,_unsafe_unretained,_autoreleasing。__strong表示强引用,可

2015-11-30 11:38:14 460

原创 Objective-c利用runtime给对象添加一个变量:objc_setAssociatedObject(关联)

利用objc_setAssociatedObject可以在不改变类结果的情况,为类增加一块内存,存放一些变量。方法很简单,只要为你增加的变量设置一个key就行了!同时需要设置变量的赋值方式比如说,retain活着assign,或者是否automiticNSString* myStr = @"string"; const char* key = "key"; NSArray*

2015-11-23 12:14:42 559

原创 Objective-c的block(块)

block的定义语法类似C中的函数指针,在别的文章里看到一张图很形象:与定义函数指针相比只是把*换成了^而已。个人理解,block其实就是一种函数形式,只是在OC中给赋予了一些别的意义。其实block也通常作为回调的。block相对于OC中的方法,不同的是,它可以定义在方法体里。它被定义后可以做为参数,或者像变量一样赋值。也可以直接运行比如:blockname();

2015-11-20 17:50:23 350

原创 Objective-c的copy和mutableCopy

NSObject实现了两个协议NSCopying和NSMutableCopying@protocol NSCopying- (id)copyWithZone:(NSZone *)zone;@end@protocol NSMutableCopying- (id)mutableCopyWithZone:(NSZone *)zone;@end使用copy等到的都是不可变的

2015-11-19 16:20:33 293

原创 Objective-c的category(分类)和Extension(扩张)

1.Category(分类)可以为已有的类添加新的方法在Objective-c中给已有的类添加新的方法,除了继承,还有一种更简单的方法,那就是Category(分类)。(分类只能添加方法,不能添加新的成员变量)Category的定义:@interface ClassName (CategoryName) @end比如我要给XYZPerson定义一个分类XYZPersonName

2015-11-18 11:09:48 303

原创 Objective-c的@property,属性介绍

使用@property可以定义变量的setter和getter方法,再通过@synthesize实现setter和getter方法使用@proerty时可以选择属性,主要分为以下几类:1.可读可写性:readonly | readwrite;这个很容易理解,readonly只定义getter方法而不定义setter方法。2.setter属性:assign | retain | co

2015-11-15 14:27:03 277

原创 Objective-c的instancetype和id

结论:在能用instancetype的时候应该尽量使用instancetype来替换id。id是一个指向Objective-c中的class的实例对象的指针,通用类型。可以作为函数的返回类型,或者其他地方作为一种类型。typedef struct objc_object {  Class isa;  } *id; 而instancetype只能作为函数返回值。从名字上就能看出i

2015-11-03 13:57:23 340

原创 Objective-c的多态

Objective-c中不支持严格的重载(voerload),但是支持对父类的重写!也就是说同一类中不能有相同方法名的方法,即使同名方法不同类型的参数也是不行的。这一机制我猜测是跟OC中存储方法是以SEL格式存储,而SEL是通过@selector(func)生成的。SEL是根据方法名生成的,所以如果有两个同名的方法就会有歧义。仅仅是猜测,因为现在对OC的具体机制还不是特别清楚。Ob

2015-11-01 12:11:51 385

原创 Objective-c的协议protocol

Objective-c是单一继承,好在它是支持协议protocol的,而且是支持多个协议!对比C++学习,其实就是C++中的虚基类,唯一的不同是虚积累中如果有纯虚函数,那么继承了虚基类的C++类必须去实现纯虚函数。而OC中的protocol不是必须实现的。

2015-11-01 11:06:56 502

原创 Objective-c的成员变量访问权限

Objective-c中有类似C++中的@private,@protected和@public的声明成员变量的访问权限的关键字!功能和C++中的一样:@private:只有的类中,可以访问。@protected:只有本类和子类中可以访问。@public:本类,子类,和类外都可以访问。但是在Objective-c中,这些关键字只能用来修饰成员变量,而不能用来修饰方法。所以

2015-11-01 10:54:40 706

原创 cocos2d-x,CCArray源码学习

看了一下cocos2d-x中的CCArray源码!大多数代码可以很容易理解的,我对插入和删除的实现比较感兴趣,所以重点看了一下!首先看看CCArray的主要数据结构:typedef struct _ccArray {unsigned int num, max;CCObject** arr;} ccArray;一个指针数组,一个当前数量和一个最大数量。所以CC

2015-07-13 14:39:37 378

原创 C++学习--函数重载(overload)的简单总结

C++函数重载的条件总结:1.只是返回值不同不能重载。   2.如果函数中有默认参数时需要注意:void fun(int a,int b = 2 );void fun(int a);          此时不能构成重载,调用fun(2);时,编译器找不到具体哪个函数。      3.const和非const函数可以构成重载。如果调用函数的对象是const变量就调用const

2015-03-08 16:52:04 499

原创 C++学习--static函数,内联(inline)函数, 友元 (friend) 函数

简单总结一下C++中的各种特殊函数1.static成员函数定义在类体中,定义时在前面加static关键字:class Test{static void getID();}static 函数属于类,但是不属于类的任何一个对象,不能访问类的成员。一般的成员函数都有隐含的this指针,但是static成员函数没有。因为static成员函数不是任何对象的组成部分,所

2014-12-06 15:10:27 1228

原创 算法学习,快速排序

1.通常将数组第一个元素作为key,然后从后

2014-11-13 15:35:38 340

原创 算法学习,冒泡排序

一个长度为n的数组,相邻两个元素比较

2014-11-12 14:00:54 395

原创 C++,struct大小的问题

利用sizeof计算struct的大小的时候,要考虑内存对齐

2014-11-07 17:21:50 809

原创 typedef struct和struct

定义结构体:typedef struct

2014-11-06 16:53:07 351

原创 Unity3D学习笔记——layer

Unity3D 中的layer与Cocos2d中的layer有所不同!Cocos2D中的l

2014-11-02 13:12:04 586

原创 Unity3D学习笔记 碰撞检测

蛮牛上看到的一片文章!lian'j

2014-10-14 12:17:30 493

原创 简单说一下const在各个位置的含义

const常量,在函数各个位置you'bu'tong'han'y

2014-09-17 11:10:25 1859

原创 Unity3D学习笔记 Perfab

Perfabs--预制可用于多个

2014-09-01 16:25:43 542

原创 C++学习--变量和基本类型

1.变量变量提供了程序可以cao

2014-07-10 22:47:09 420

原创 Xcode定义Preprocessor Macros,编译宏。

假如工程中,有iphone和iPad两个相同target。要实现在iPhone和iPad的同一个程序块,不同的逻辑。这里就可以用到Preprocessor Macros了。只要把你的宏加到Preprocessor Macros里就行了。

2014-03-11 15:52:50 3362

原创 Mac下搭建Sublime+lua开发环境

lua是当下游戏或者web开发中,一种非常流行的脚本语言。现在要再Mac下搭建lua的开发环境,并且使用Sublime作为lua的编辑器。一,首先安装luaMac下安装lua非常方便,可以先安装Homebrew。命令行输入:sudo sucurl -L http://github.com/mxcl/homebrew/tarball/master | tar

2014-01-04 13:43:03 3468

原创 ios开发,查看APP打包后的大小

在APP打包之前想知道它的大小可以,选product下的archive。这可能需要等1分钟,然后出现organizer。点estimated size后的结果得到大小就是接近你打包之后的大小了

2013-07-05 18:23:29 3715

原创 cocos2d-x中实现委托和代理

2d-x是用c++写的。如果在2d-x中想实现objective-c那样的委托(protocol)和代理(Delegate)的话,可以用一个基类来实现。比如定义一个购买的protocol:class InAppPurchaseProtocol{public:    virtual ~ InAppPurchaseProtocol(){};// 购买成功

2013-07-04 12:33:21 156

原创 cocos2d-x适配多分辨率

Cocos2d-x 多分辨率支持

2013-07-03 16:08:13 1334

原创 github存在错误的未commit文件

今天在项目里,添加了一个.png文件,后来发现没用,又给手动删除了。但是在commit的时候却还有这个文件,标注是A,也就是新增加的。discard changes也不管用。提示:This operation cannot be undone后来在命令行里,进入工程目录。然后git commit -a -m "commit error file"。希望通过命令强制commit。但是结果是:

2013-07-03 14:51:42 898

原创 cocos2d/-x 用CCRenderTexture为一个CCLabelTTF创建阴影。

游戏UI中为了使字体更加漂亮,通常需要为字体添加一个阴影。其实不用美工,程序就可以添加。先为CCLabelTTF创建一个CCRenderTexture:CCRenderTexture* CCLabelTTFWithStroke::createStroke(cocos2d::CCLabelTTF *label,float size,ccColor3B cor){//目标label

2013-06-21 18:12:56 2743

原创 cocos2d-x关于CCTableView的“乱序问题”的理解

Cocos2d-x有一个不错的控件CCTableView。之前用的时候发现有cell的顺序错乱和重复出现的问题。后来仔细看了一下源码,发现是自己用法错误。但是网上有人说是一个bug,要改源码。我发现2.04以上的源码都是没问题的。先来看看网上说的改源码是怎么样改的:CCTableViewCell *CCTableView::dequeueCell(){    CCT

2013-06-21 16:30:43 2958 2

原创 关于cocos2d-x的CCTabelView的“顺序错乱”的理解

xxx

2013-06-20 11:43:13 160

原创 iOS开发,用代码输出设备的当前使用内存和剩余内存

xcode的内存检测工具有时候会不准。用代码输出适时的内存情况是一个Debug的好方法。以下两个方法输出当前已经使用内存和剩余内存:// 获取当前设备可用内存(单位:MB)double UtilityTools::availableMemory(){#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)    vm_sta

2013-06-19 10:45:17 2400

原创 iOS游戏开发中粒子系统的纹理的颜色混合模式

iOS游戏开发使用中的粒子系统,以前一直不知道要如何使用原本的纹理而不对纹理本身的颜色做透明或者变化。今天研究了一会,虽然不知道里面的原理,但是只是能用了就是在混合的时候使用以前两种模式

2013-06-08 19:26:57 1174

Mac版Sublime Text 2

Mac版Sublime Text 2,直接安装,已破解。注意是mac版

2013-12-30

ParticleDesigner破解版

ios游戏开发最流行的粒子编辑器。完美破解,有密匙。cocos2d开发必备工具

2013-03-29

空空如也

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

TA关注的人

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