- 博客(44)
- 资源 (16)
- 收藏
- 关注
原创 [iOS]深入浅出 iOS 之多线程 NSThread (转)
iOS 支持多个层次的多线程编程,层次越高的抽象程度越高,使用起来也越方便,也是苹果最推荐使用的方法。下面根据抽象层次从低到高依次列出iOS所支持的多线程编程范式:1, Thread;2, Cocoa operations;3, Grand Central Dispatch (GCD) (iOS4 才开始支持)下面简要说明这三种不同范式:Thread 是这三种范式里面相对轻
2012-12-29 09:47:42 1154
原创 一些考题
- (void)viewDidLoad{ [superviewDidLoad];// Do any additional setup after loading the view, typically from a nib. textField=[[UITextFieldalloc]initWithFrame:CGRectMake(0
2012-12-26 09:33:44 752
原创 列表下拉/上拉刷新: (一)EGORefreshTableHeaderView使用、定义EGORefreshTableFooterView
现在似乎只要是个列表,都要有下拉刷新这一项,否则就跟不上潮流了,呵呵。下拉刷新应该很多人都采用了EGORefreshTableHeaderView,具体的UI效果当然会根据自己产品的设计,再进行修改。应用中如果要展示大量数据列表,肯定不会一次都加载进来的,常规的方法都是从服务器翻页请求,每次请求n条,用户选择加载更多的时候再请求n条。根据这个需求,我们可以仿照EGORefreshTableHead
2012-12-11 16:20:27 1188
原创 iOS中assign、copy 、retain等关键字的含义
assign: 简单赋值,不更改索引计数copy: 建立一个索引计数为1的对象,然后释放旧对象retain:释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为1Copy其实是建立了一个相同的对象,而retain不是:比如一个NSString对象,地址为0×1111,内容为@”STR”Copy到另外一个NSString之 后,地址为0×2222,内容相同,新的
2012-12-11 10:16:01 935
原创 用OC写一个算法
NSMutableArray *arr=[[NSMutableArrayalloc]initWithObjects:@"16",@"2",@"20",@"5",@"3",@"9",@"7",nil ]; id temp; for (int i=0; i<[arrcount]-1; i++) { for
2012-12-09 18:56:29 1859
原创 MallocStackLogging 的设置方法 查找 EXC_BAD_ACCESS 问题根源的方法
IOS 开发中,如果提前释放一个指针的内存,在以后还继续使用这个指针,那么程序会立刻 crash 掉,而且很难有报错信息,我以前都是靠猜测去判断错误的原因,我们应该利用工具去找到错误的地方,然后快速准确的定位到错误地方,及其错误原因,最后进行改进。 其实 iOS 控制台提供这种机制,如果你选择 debug 模式(必须在这个模式下),在程序 crash 之后,在控制台输入 bt,就可以
2012-12-08 18:30:57 6281
原创 用NSZombieEnabled解决恼人的EXC_BAD_ACCESS错误
首先解释下EXC_BAD_ACCESS,当你向已经释放的对象发送消息时就会出现这种错误。至于NSZombieEnabled,就是当设置NSZombieEnabled环境变量后,,可以将本来应该释放内存(deallocated)的对象转化为_NSZombie,从而可以方便的通过这些“僵尸”来追踪重复release的对象。设置NSZombieEnabled后,当你向一个已经释放的对象发送消息,
2012-12-08 18:28:41 1883
原创 Unity3D实用工具汇总
1. Free Shader editor 免费shaser编辑器http://forum.unity3d.com/threads/56180-Strumpy-Shader-Editor-Beta-3.0-released-(vertex-lighting-support)2. Commercial Shader Editor 商业shader编辑器http://forum.unity3d
2012-12-06 09:15:45 5235 1
原创 UIScrollView的使用大全
UIScrollView 原理详解ScrollView UIScrollView UIScrollView为了显示多于一个屏幕的内容或者超过你能放在内存中的内容。 Scroll View为你处理缩小放大手势,UIScrollView实现了这些手势,并且替你处理对于它们的探测和回应。其中需要注意的子类
2012-12-05 16:14:00 930
转载 UIScrollView的使用大全
UIScrollView 原理详解ScrollView UIScrollView UIScrollView为了显示多于一个屏幕的内容或者超过你能放在内存中的内容。 Scroll View为你处理缩小放大手势,UIScrollView实现了这些手势,并且替你处理对于它们的探测和回应。其中需要注意的子类
2012-12-05 15:59:32 916
转载 UITableView的使用大全
首先、对UITableView进行讲解,下面有对它进行实际的应用UITableView 显示大型内容的列表 单行,多列 垂直滚动,没有水平滚动 大量的数据集 性能强大,而且普遍存在于iPhone的应用程序中TableView St
2012-12-05 15:19:21 16563
转载 IOS Navigation总结
我们常常会遇到这样的问题:一个应用会有几个视图控制器没有导航栏,那么我们只需要在不需要导航栏的页面将其隐藏。代码如下:#import @class NavController;@class FirstController;@interface AppDelegate : UIResponder UIApplicationDelegate>
2012-12-05 13:52:39 1790
转载 IOS Socket使用大全 -将持续更新
Socket使用大全第一部分、概念的理解1、什么是Socket?Socket又称之为“套接字”,是系统提供的用于网络通信的方法。它的实质并不是一种协议,没有规定计算机应当怎么样传递消息,只是给程序员提供了一个发送消息的接口,程序员使用这个接口提供的方法,发送与接收消息。Socket描述了一个IP、端口对。它简化了程序员的操作,知道对方的IP以及PORT就可以给对方发
2012-12-05 10:10:26 1976
转载 iphone开发之多媒体播放参考源码
OS sdk中提供了很多方便的方法来播放多媒体。本文将利用这些SDK做一个demo,来讲述一下如何使用它们来播放音频文件。AudioToolbox framework 使用AudioToolbox framework。这个框架可以将比较短的声音注册到 system sound服务上。被注册到system sound服务上的声音称之为 system sounds。它必须
2012-12-05 09:59:58 1532
转载 【iOS-Cocos2d游戏开发之十】添加粒子系统特效并解决粒子特效与Layer之间的坐标问题;
一直以来Himi特别想在游戏中使用粒子系统,但是之前做J2me与Android中发现使用粒子做的效果都会造成游戏运行内存的一个负担,所以一直很遗憾,那么在iOS游戏开发中,可以说必须要使用粒子啦,还是苹果硬件给力;看过我一开始刚写cocos2d博文的时候我就说过因为cocos2d的粒子编辑器很给力,所以也是我选用cocos2d引擎的一部分原因;粒子编辑器名称:ParticleDesigne
2012-12-04 23:38:45 995
转载 IOS 网络编程总结
一:确认网络环境3G/WIFI 1. 添加源文件和framework 开发Web等网络应用程序的时候,需要确认网络环境,连接情况等信息。如果没有处理它们,是不会通过Apple的审(我们的)查的。 Apple 的 例程 Reachability 中介绍了取得/检测网络状态的方法。要在应用程序程序中使用Reachability,首先要完成如下两部:
2012-12-04 23:38:23 638
转载 为什么要用单例模式?
我们在编程中最常用的模式就是单例模式了,然而单例模式都用在什么场合?为什么不用静态方法而要用单例模式呢?要搞清这些问题,需要从静态方法和非静态方法的区别和联系说起。一、静态方法常驻内存,非静态方法只有使用的时候才分配内存? 一般都认为是这样,并且怕静态方法占用过多内存而建议使用非静态方法,其实这个理解是错误的。为什么会这样,先从内存分配开始说起:托管堆的定义
2012-12-04 23:37:48 948
转载 UITextView控件的用法详解
1.创建并初始化创建UITextView的文件,并在.h文件中写入如下代码: #import @interface TextViewController : UIViewController { UITextView *textView; } @property (nona
2012-12-04 23:37:21 785
转载 UIFont 设置字体 与字体效果预览
label.font = [UIFont fontWithName:@"Arial-BoldItalicMT" size:24]; 字体名如下:Font Family: American TypewriterFont: AmericanTypewriterFont: AmericanTypewriter-BoldFont Family: AppleG
2012-12-04 16:27:03 7546
原创 设置UITableView Section的背景颜色和字体颜色 ----------自
设置UITableView Section的背景颜色和字体颜色 ----------自定义Section section所显示的灰色背景和白色字体是默认的,调用以下方法即可实现- (NSString *)tableView:(UITableV
2012-12-04 11:25:19 2736
原创 UITableView 基本使用方法总结
UITableView 基本使用方法 1. 首先,Controller需要实现两个 delegate ,分别是 UITableViewDelegate 和 UITableViewDataSource 2.然后 UITableView对象的 delegate要设置为 self。 3. 然后就可以实现这些dele
2012-12-03 23:09:05 982
转载 [工具]Mac平台开发几个网络抓包工具(sniffer)
Cocoa Packet Analyzerhttp://www.tastycocoabytes.com/cpa/Cocoa Packet Analyzer is a native Mac OS Ximplementation of a network protocol analyzer and packet sniffer. CPA supportsthe industry-sta
2012-12-02 20:13:17 1191
转载 UITextView控件的详细讲解
1.创建并初始化创建UITextView的文件,并在.h文件中写入如下代码: #import @interface TextViewController : UIViewController { UITextView *textView; } @property (nona
2012-12-02 18:42:34 673
转载 navigationItem.rightBarButtonItem 实现多个右侧按钮
navigationItem.rightBarButtonItem 实现多个右侧按钮 UIBarButtonItem *cleanButton = [[UIBarButtonItem alloc] initWithTitle:@"清空"
2012-12-02 13:36:03 5521
转载 【iOS-Cocos2d游戏开发之九】讲解CCSpriteBatchNode与TP工具的”.pvr.ccz”,”.plist”共用的终极精灵优化及注意事项!
首先对于使用过精灵的童鞋很熟悉CCSpriteBatchNode,至少大家都会知道它能优化精灵,但是至于优化原理这里简单说下:一般使用精灵CCSprite的时候,都是直接使用[CCLayer* addChild:CCSprite *];,假设我们创建一百个精灵,那么当前的CCLayer会为100个精灵单独绘制;如果使用精灵集合-CCSpriteBatchNode的话,直接将集合CC
2012-12-01 12:13:11 901
转载 【iOS-Cocos2d游戏开发之八】开启高清(960*640)模式问题与解答、图片适配以及设置iphone横竖屏
今天为大家介绍利用cocos2d开发中一些细节的三个问题;首先介绍第一点:如何开启高清模式,大家都知道iphone4的分辨率是960*640,比之前的480*320正好大了一倍,那么如果想测试在高清模式下的游戏效果的话,那么首先大家肯定知道先设置iOS模拟器为iphone(Retina)模式,但是仅仅设置这里的童鞋肯定会发现问题,因为运行后会发现控制台打印出来的分辨率仍然是480*320,
2012-12-01 12:12:04 773
转载 【iOS-Cocos2d游戏开发之七】在cocos2d中添加/删除系统组件,并解决View设置透明会影响View中的其他组件的问题!更新解决添加组件Cocos2d动画停止播放的BUG】
有的童鞋说添加嘞组件(UIScrollView)后操作组件时Cocos2d的动画停止不懂嘞,我测试下,果然是,下面是解决方法:首先大家在项目中搜索:CCDirectorIOS,找到CCDirectorIOS.m类,然后找到如下代码:1234567//// If you want
2012-12-01 12:10:35 733
转载 【iOS-Cocos2d游戏开发之六】对触屏事件追加讲解,解决无法触发ccTouchMoved事件[重要!]
上一章节中介绍了,如何利用两种方式对用户触屏进行监听,那么今天要重点讲解一个问题;要讲的问题主要是在使用注册监听(事件分配方式监听触屏)中的问题,上一章节中说过,此种方式首先要注册:如下代码:12//注册独立触摸事件 [[CCTouchDispatcher sharedDispatcher] addTargeted
2012-12-01 12:09:10 858
转载 【iOS-Cocos2d游戏开发之五】多触点与触屏事件详解(单一监听、事件分发)
———————————-本章补充开始!———————————- 本篇对于多触点和触屏事件已经做了一个详细的说明,但是有一点忽略了,就是开启多触点的支持!步骤如下: 首先进入AppDelegate.m 类中,1- (void) applicationDidFinishLaunchi
2012-12-01 12:07:48 875
转载 【iOS-Cocos2d游戏开发之四】独自收集Cocos2d提供的字体!共57种(有对照的字体图)
很多游戏中,便于开发就会直接采用Cocos2d提供的字体库来使用,但是因为提供的种类很多,那么Himi利用一些时间整理了57种字体样式,这些我想足够你用了;不多说下面一起来看看吧:(每张图对应11种样式的字体,字体的名字就是其样式的名字)-----------1------------------------对应字体样式源码:1
2012-12-01 12:06:07 796
转载 【iOS-Cocos2d游戏开发之三】CCScene切换的所有特效(28种)以及设置屏幕横竖屏!
CCScene 对于使用cocos2d的童鞋肯定很熟悉,那么在使用 [[CCDirectorsharedDirector]replaceScene:]; 对scene进行场景(CCLayout)进行切换时,cocos2d提供了一些特效进行过渡,那么今天仔细翻开cocos2d源码,将所有的动画效果都测试了一遍,大概整理如下,提供大家查阅和使用吧;因为我使用的是最新的cocos2d的1.
2012-12-01 12:03:38 650
原创 【iOS-Cocos2d游戏开发之二】Cocos2D 游戏开发资源贴(教程以及源码)
这两天抽出一些时间学习cocos2d,发现资料N多,而且讲解的相当的全面;那么这段时间我也处于不断的学习中,当然好东西不私藏,这里我把比较经典的一个iOS游戏开发书籍给出,当然很多童鞋,我想都有了,那么就当是照顾没有的童鞋啦,下次发帖的时候,就应该是自己抽时间做个游戏出来后的时候,那么届时我会放出游戏源码给大家作为参考和学习;后期再写会写一些至少别人没有写过的,不然没什么太大的意义;最后一
2012-12-01 12:02:10 966
转载 【iOS-Cocos2d游戏开发之一】搭建cocos2d游戏引擎环境HelloWorld!
最近几天仔细了解了iOS游戏开发引擎,常用的cocos2d,Unity引擎,那么Unity是非免费的,而cocos2d则是免费开源的;最后促使我选择cocos2d的原因有两点:1.最重要的原因是它对应的开发工具,尤其是 “ParticleDesigner”,粒子系统编辑器,非常的喜欢(需付费$7.99美元),下载试用版操作了以下,没说的,狠给力;截图如下:(当时就掏出信用卡去购买,
2012-12-01 12:01:17 1216
转载 游戏引擎剖析
为了解决“如何在IPHONE上创建一个游戏”这个大问题,我们需要首先解决诸如“如何显示图像”与“如何播放声音”等一系列小问题。这些问题关系到创建部分游戏引擎。就像人类的身体一样,游戏引擎的每个部分虽然不同,但是却都不可或缺。因此,首先从游戏引擎剖析开始本章。我们将会讨论一个游戏引擎的所有主要部分,包括应用程序框架、状态机、图像引擎、物理引擎、声音引擎、玩家输入和游戏逻辑。写一个好玩的游戏是
2012-12-01 11:59:52 1115
转载 Cocos2d开发系列(九)
Learn IPhoneand iPad Cocos2d Game Delevopment》第10章 。相册空间已满,无法直接贴站外图片。要查看图片,请点击链接。使用 Tilemaps接下来两章,我将介绍基于贴图的游戏世界。你也许玩过Ultima这样的角色扮演游戏,或者刚刚把你Facebook上的朋友加进了Farmville。那么我可以肯定,你已经玩过了使用tilema
2012-12-01 11:41:46 1773
转载 Cocos2d开发系列(八)
Learn IPhoneand iPad Cocos2d Game Delevopment》第9章 。由于相册空间已满,csdn不允许发布站外图片,所以所有图片以链接方式显示。为了产生粒子效果,程序员们不得不使用粒子系统。粒子系统喷射大量细小的粒子并对其进行高效的渲染,这要比sprite高效得多,因此你可以模拟出雨、烟、火、雪、爆炸、蒸汽尾迹等效果。粒子系统由大量属性驱
2012-12-01 11:40:31 920
转载 Cocos2d开发系列(七)
Learn IPhoneand iPad Cocos2d Game Delevopment》第8章 。这种类型的游戏(shoot’emup游戏)最重要的是什么?射击的目标和需要躲避的子弹。本章,将为游戏添加一些敌人以及一个大 boss。敌人和玩家将使用新的BulletCache 类射击不同的子弹,这些子弹来自同一个 pool。这个缓冲类会重用无效的子弹,以避免重复的内存分配和释放动
2012-12-01 11:39:20 935
转载 Cocos2d开发系列(六)
Learn IPhone and iPad Cocos2d Game Delevopment》第7章(原文中有部分无关紧要的 内容未 进行翻译)。对于射击类游戏,使用重力感应进行游戏控制是不可接受的,采用虚拟手柄将会更恰当。出于“不重新发明轮子”的原则,我们将采用开源库SneakyInput。控制玩家的飞船进行移动只是其中一件事情。我们还需要让背景能够滚动,以造成在某个方向上“前进”的感觉
2012-12-01 11:37:28 1102
转载 Cocos2d开发系列(五)
《Learn IPhone and iPad Cocos2d Game Delevopment》第6章(原文中部分无关紧要的内容没有进行翻译)。一、 CCSpriteBatchNode在屏幕上贴图时,图形硬件需要经过准备、渲染、清除等步骤。每次贴图都会重复这个过程。如果图形硬件能事先知道有一组拥有相同纹理的Sprite需要渲染,则这个过程会被简化。比如,一组Sprite的准备和清除动作总共
2012-12-01 11:34:45 925
转载 Cocos2d开发系列(四)
《Learn IPhone and iPad Cocos2d Game Delevopment》的第5章。一、使用多场景 很少有游戏只有一个场景。这个例子是这个样子的: 这个Scene中用到了两个Layer,一个Layer位于屏幕上方,标有”Here be your Game Scores etc“字样的标签,用于模拟游戏菜单。一个Layer位于屏幕下方,一块绿色的草地上有一些
2012-12-01 11:33:13 602
Flutter ApprenticeFlutter Apprentice - 2nd Version最新版本
2022-06-03
最新Reveal 1.6.2破解版
2016-08-30
基于XMPP协议的IM实现
2014-02-18
coretext图文混排
2013-05-21
左右菜单tableview
2013-02-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人