随笔分类 -  iPhone

摘要:最近由ios应用转做游戏,游戏开始时需要播放一个视频,由于本身cocos2d-x播放视频的相关库,在网上搜到的资料都不是很全,我自己试过在cocos2dx直接调用ios的MediaPlayer来播放,确实能播放,但怎么弄都是竖屏,搞的郁闷。今天无意间发现通过cocos2d-iPhone的CCVideoPlayer来播放,特意实验了一下,原帖地址:http://blog.csdn.net/kaitiren/article/details/11832851。按照作者的思路发现有很多问题首先作者没有讲明如何修改CCVideoPlayer,首先CCVideoPlayer是基于cocos2d-iPhon 阅读全文
posted @ 2013-12-05 16:21 子非あ鱼 阅读(4160) 评论(4) 推荐(1) 编辑
摘要:1、类别(category)使用Object-C中的分类,是一种编译时的手段,允许我们通过给一个类添加方法来扩充它(但是通过category不能添加新的实例变量),并且我们不需要访问类中的代码就可以做到,这点和javascript中使用原型来定义属性有点类似。我们可以为一个类创建一个新的方法,而不需要在代码中编辑类定义。下面就是定义并使用分类的例子程序,通过下面代码,我们可以给Object-C中的NSString 添加camelCaseString分类,使用camelCaseString方法,就可以去掉一个字符串中的空格,并将原有空格后的单词改写成大写(即将字符串转化为驼峰式)。#import 阅读全文
posted @ 2013-09-25 17:46 子非あ鱼 阅读(1724) 评论(0) 推荐(0) 编辑
摘要:什么是多线程多线程是一个比较轻量级的方法来实现单个应用程序内多个代码执行路径。从技术角度来看,一个线程就是一个需要管理执行代码的内核级和应用级数据结构组合。内核级结构协助调度线程事件,并抢占式调度一个线程到可用的内核之上。应用级结构包括用于存储函数调用的调用堆栈和应用程序需要管理和操作线程属性和状态的结构。多线程的替代方法你自己创建多线程代码的一个问题就是它会给你的代码带来不确定性。多线程是一个相对较低的水平和复杂的方式来支持你的应用程序并发。如果你不完全理解你的设计选择的影响,你可能很容易遇到同步或定时问题,其范围可以从细微的行为变化到严重到让你的应用程序崩溃并破坏用户数据。你需要考虑的另一 阅读全文
posted @ 2013-09-25 16:11 子非あ鱼 阅读(421) 评论(0) 推荐(0) 编辑
摘要:1:原子操作 - OSAtomic系列函数iOS平台下的原子操作函数都以OSAtomic开头,使用时需要包含头文件。不同线程如果通过原子操作函数对同一变量进行操作,可以保证一个线程的操作不会影响到其他线程内对此变量的操作,因为这些操作都是原子式的。因为原子操作只能对内置类型进行操作,所以原子操作能够同步的线程只能位于同一个进程的地址空间内。2:锁 - NSLock系列对象iOS平台下的锁对象为NSLock对象,进入锁通过调用lock函数,解锁调用unlock函数(因为iOS中大部分的线程同步类都继承自NSLocking协议,所以其加锁/解锁的操作基本都为lock/unlock函数),同一个NS 阅读全文
posted @ 2013-09-25 15:50 子非あ鱼 阅读(702) 评论(0) 推荐(0) 编辑
摘要:我们今天谈谈cocoa程序设计中的模型-视图-控制器(MVC)范型。我们将从两大方面来讨论MVC:什么是MVC?M、V、C之间的交流方式是什么样子的?理解了MVC的概念,对cocoa程序开发是至关重要的。一、MVC的概念MVC是Model-VIew-Controller,就是模型-视图-控制器,这些都是什么东西呢?MVC把软件系统分为三个部分:Model,View,Controller。在cocoa中,你的程序中的每一个object(对象)都将明显地仅属于这三部分中的一个,而完全不属于另外两个。Model = 你的程序是什么(而不是你的程序是如何显示的)让我们举个例子,我们上中学的时候,我们的 阅读全文
posted @ 2013-09-25 11:40 子非あ鱼 阅读(1446) 评论(0) 推荐(0) 编辑
摘要:Objective-C语言是面向对象的高级编程语言,因此,它具有面向对象编程所具有的一些特性,即:封装性、继承性和多态性。今天介绍一下Objective-C中的多态性。 一、什么是多态 多态:不同对象以自己的方式响应相同的消息的能力叫做多态。 由于每个类都属于该类的名字空间,这使得多态称为可能。类定义中的名字和类定义外的名字并不会冲突。类的实例变量和类方法有如下特点:和C语言中结构体中的数据成员一样,类的实例变量也位于该类独有的名字空间。类方法也同样位于该类独有的名字空间。与C语言中的方法名不同,类的方法名并不是一个全局符号。一个类中的方法名不会和其他类中同样的方法名冲突。两个完全不同的... 阅读全文
posted @ 2013-09-25 11:36 子非あ鱼 阅读(910) 评论(0) 推荐(0) 编辑
摘要:在开发iOS应用过程中,如何高效的与服务端API进行数据交换,是一个常见问题。一般开发者都会选择一个第三方的网络组件作为服务,以提高开发效率和稳定性。这些组件把复杂的网络底层操作封装成友好的类和方法,并且加入异常处理等。那么,大家最常用的组件是什么?这些组件是如何提升开发效率和稳定性的?哪一款组件适合自己,是 AFNetworking(AFN)还是 ASIHTTPRequest(ASI)?几乎每一个iOS互联网应用开发者都会面对这样的选择题,要从这两个最常用的组件里选出一个好的还真不是那么容易。单单从两个控件版本提交的时间节点来看,AFN的第一个提交是2011年的1月1日,那个时候ASI早已是 阅读全文
posted @ 2013-09-25 11:22 子非あ鱼 阅读(775) 评论(0) 推荐(0) 编辑
摘要:ios有三种主要方法:1、NSThread。2、NSOperation。3、GCD。1、NSThread:调用方法如下:如果需要函数参数的话,可以通过Object传递。1.1:[NSThreaddetachNewThreadSelector:@selector(threadInMainMethod:)toTarget:selfwithObject:nil];1.2:NSThread*myThread=[[NSThreadalloc]initWithTarget:selfselector:@selector(threadInMainMethod:)object:nil];[myThreadsta 阅读全文
posted @ 2013-09-10 09:25 子非あ鱼 阅读(204) 评论(0) 推荐(0) 编辑
摘要:#define IS_IPHONE_5 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON ) 阅读全文
posted @ 2013-08-28 14:38 子非あ鱼 阅读(205) 评论(0) 推荐(0) 编辑
摘要:借助于OC语言特性,Bee将核心逻辑注入到NSObject基类中去,在使用Bee时,大多数情况下可以不必修改现有类继承关系,这样设计是把双刃剑,也有可能与您现有方法名冲突。在您代码中任何位置都可以这样做: [self GET:@"http://www.qq.com/logo.png"]; [self POST:@"http://api.qq.com/" data:[NSData data]]; [self postNotification:@"SOME_NOTIFICATION"]; [self sendMessage:@" 阅读全文
posted @ 2013-08-28 14:37 子非あ鱼 阅读(1560) 评论(0) 推荐(0) 编辑
摘要:收集整理下来的邮箱列表,附上简单说明,希望对广大开发者有帮助:-------------------------------------------------------------------------------------------------------AppReview@apple.com-应用在提交后(处于“审核中”),应用和应用内购的状态-状态更新通知——与开发者遭拒和影响审核时间相关的信息-应用遭拒通知咨询-快速审核请求----------------------------------------------------------------------------- 阅读全文
posted @ 2013-04-20 10:16 子非あ鱼 阅读(3460) 评论(2) 推荐(1) 编辑
摘要:@synthesize关键字: 根据@property设置,自动生成成员变量相应的存取方法,从而可以使用点操作符来方便的存取该成员变量 。@implementation 关键字,表明类的实现 @end 结束self 关键字 :类似于java中的this,是隐藏参数,指向当前调用方法的类。super 关键字 :调用父类的方法。self = [superinit] 这里不是判断self与[superinit]是否相等,而是判断是否可以成功初始化。[super init]:父类初始化成功的话,通过=给self,这样self成为一个非空对象,整个来说即非false(非NO)。#import 告诉预处理 阅读全文
posted @ 2013-04-20 09:08 子非あ鱼 阅读(386) 评论(0) 推荐(0) 编辑
摘要:场景介绍app 里有一个有一个UITabBarController,在进入UITabBarController之前要验证用户是否已经登陆,如果没有登陆就弹出一个对话框,让用户输入登陆信息。实现方式1.在appDelegate。h里声明一个变量,用来绑定UITableController: UITabBarController *tabbarController; 2.在appDelegate。m里添加如下方法- (void)applicationDidFinishLaunching:(UIApplication *)application { // Override point for cus 阅读全文
posted @ 2011-05-11 10:17 子非あ鱼 阅读(895) 评论(1) 推荐(0) 编辑
摘要:类的地址: http://github.com/ldandersen/scifihifi-iphone/tree/master/security作为一名iPhone开发者, 你需要对你的用户安全负责. 请问, 你是怎么保存用户的密码的?直接保存到plist里?加密? AES? DES? 能保证你的代码不被反编译拿到你的加密Key?这也未免太不苹果了吧. 我Google了一下, 国内的开发者根本没有注意到这个问题.苹果系统中有个程序叫”钥匙串” (Keychain), 它不仅仅是你申请开发证书用的, 哈哈. 它可以存密码!这也是苹果给出的保存密码的最佳解决方案.iPhone中也有Keychain 阅读全文
posted @ 2011-04-14 12:03 子非あ鱼 阅读(2381) 评论(0) 推荐(1) 编辑
摘要:多线程之NSInvocationOperation多线程编程是防止主线程堵塞,增加运行效率等等的最佳方法。而原始的多线程方法存在很多的毛病,包括线程锁死等。在Cocoa中,Apple提供了NSOperation这个类,提供了一个优秀的多线程编程方法。本次介绍NSOperation的子集,简易方法的NSInvocationOperation:@implementation MyCustomClass - (void)launchTaskWithData:(id)data{ //创建一个NSInvocationOperation对象,并初始化到方法 //在这里,selector参数后的值是你想在另 阅读全文
posted @ 2011-04-13 21:22 子非あ鱼 阅读(5393) 评论(0) 推荐(1) 编辑
摘要:iOS4 已经开放了查询通讯录信息的功能,下面分享一段会员cctv的获取 iPhone 上存储的联系人姓名、电话、邮件的代码 苹果 iPhone 是允许查询讯录信息的,这就为很多第三方通讯类应用提供了方便。下面分享一段会员“cctv”的获取 iPhone 上存储的联系人姓名、电话、邮件的代码+ (NSMutableArray *) getAllContacts{ NSMutableArray *contactsArray = [[[NSMutableArray alloc] init] autorelease]; NSMutableArray* personArray = [[[NSMutab 阅读全文
posted @ 2011-04-12 15:27 子非あ鱼 阅读(1150) 评论(0) 推荐(0) 编辑
摘要:想生产与iOS设备底座连接器配套的配件可没那么容易:你需要苹果提供的某些零部件,并且你还要花重金购买苹果的“Made for iPhone”许可。但是,你可以把耳机插孔当做和iPhone进行双向数据通信的切入点,并且还可以利用iPhone的电量带动小型的电路板。来自密执安大学电子工程和计算机科学系的一群师生就发明了一个叫做“HiJack”的装置,让那些没钱的人也能玩上传感设备。Project HiJack是一个硬件和软件平台,用来在小型、低耗电周边设备和iOS设备之间建立通信。 该系统采用22kHz音频信号,将其转换为7.4mW电能(转化效率47%),可以带动一个TI MSP430微控制器和其 阅读全文
posted @ 2011-04-11 18:56 子非あ鱼 阅读(1656) 评论(0) 推荐(0) 编辑
摘要:先来定义一个Human父类定义部分:1234567891011121314151617181920//// Human.h// OOP//// Created by jimmy.yang on 11-2-9.// Copyright 2011 __MyCompanyName__. All rights reserved.//#import <Foundation/Foundation.h>@interface Human : NSObject { BOOL sex;}+(void) toString;-(void) showSex;@end注:+(void)前的加号,就表示这一个是 阅读全文
posted @ 2011-04-08 18:49 子非あ鱼 阅读(1128) 评论(0) 推荐(0) 编辑
摘要:如何改用OOP的方法来实现:因为要用到“颜色”以及“矩形区域”二个枚举,先把他们抽出来单独放在CommDef.h文件中show sourceview sourceprint?01//定义“几何形状颜色”枚举02typedef enum03{04kRedColor,05kGreenColor,06kBlueColor07} ShapeColor;0809//定义“几何形状矩形区域”结构10typedef struct11{12int x,y,width,height;13} ShapeRect;然后再定义基类Shape,注意:在obj-C中,定义一个类通常分成二部分,一部分是".h&q 阅读全文
posted @ 2011-04-08 18:45 子非あ鱼 阅读(1104) 评论(0) 推荐(0) 编辑
摘要:关于xcode可设偏好设置 command+,清空缓存 可设隐藏xcode command+h隐藏其它 command+option+h显示全部 可设退出xcode command+q文件相关:新建项目 command+shift+n新建文件 command+n新建空文件 command+control+n打开 command+o在新窗口中打开 command+option+o快速打开 command+shift+d / command+shift+alt+d (不知区别是什么)清空最近打开文件 可设清空最近打开项目 可设Get Info command+i显示检查器? command+opt 阅读全文
posted @ 2011-03-16 09:39 子非あ鱼 阅读(1158) 评论(0) 推荐(0) 编辑