
object c
NewJerryj
这个作者很懒,什么都没留下…
展开
-
Object-C 基础之2 — 重载父类初始化方法
重载,是面向对象中很重要的一个概念,而且运用的也多。在object c中的作用不言而喻。 那么今天通过一个示例程序,来解释如何重载父类的方法。 示例代码如下: #import @interface MemFoo: NSObject{ int x; NSString* name;}@property int x;@property (copy) NSString* name;-(MemFoo*)init:(int) n:(NSString*)str; //原创 2011-03-19 11:37:00 · 5256 阅读 · 2 评论 -
UITableView的使用规则和技巧等
1 在tableview的系统回调之外使用删除某个cell //先获取indexpath NSIndexPath* indexPath = [NSIndexPath indexPathForRow:row inSection:0]; [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]原创 2012-05-23 19:26:29 · 851 阅读 · 0 评论 -
在iphone指定目录写文件log
NSString * hisPath = [[NSPathEx DocPath] stringByAppendingFormat:@"/Log.txt"]; NSString* strHistory = [NSString stringWithContentsOfFile:hisPath encoding:NSUTF8StringEncoding error:nil]; if (str原创 2012-05-24 20:32:09 · 1201 阅读 · 0 评论 -
ios工程中Info.plist的键值和属性
CFBundleDisplayName (程序包显示名)显示在应用程序图标下方的名称。这个值应该本地化为所有支持的语言。CFBundleIdentifier (程序包标识)这是由您提供的标识字符串,用于在系统中标识您的应用程序。这个字符串必须是一个统一的类型标识符(UTI),仅包含字母数字(A-Z、a-z、0-9),连字符(-),和句号(.);且应该使用反向DNS格式。举例来说原创 2012-05-25 09:19:39 · 2400 阅读 · 0 评论 -
xcode工程设置个人和公司名称的版权信息
1. 在地址簿中设置个人的名称和公司名称等信息, 当新建工程后, xcode会读取这个信息,展示在代码文件的头部信息2. 如果在其他人创建的工程上新增代码文件,将还是读取创建时的版权信息。原创 2012-05-24 11:31:30 · 2601 阅读 · 1 评论 -
使用ios系统自带的MapKit framework进行定位
这样使用的是谷歌的地图和LBS信息, 估计后续苹果会自己做地图服务了 CLLocationCoordinate2D coordinate; coordinate.latitude = gpsInfo.lat; coordinate.longitude = gpsInfo.log; MKReverseGeocoder * reverseGeocoder = [[MK原创 2012-05-25 18:41:19 · 3625 阅读 · 0 评论 -
ios工程中使用ARC技术
自动计数(ARC)是一个编译期间工作的能够帮你管理内存的技术,通过它,程序人员可以不需要在内存的retain,释放等方面花费精力。 ARC在编译期间为每个Objective-C指针变量添加合适的retain, release, autorelease等函数,保存每个变量的生存周期控制在合理的范围内,以期实现代码上的自动内存管理。 ios4版本及以上才能支持A原创 2012-06-18 11:19:03 · 1675 阅读 · 0 评论 -
Objective-C 语法之集合对象
集合对象的关键字是NSSet与NSMutableSet。前者是不可变集合,后者是可变集合,Objective-C语言中大部分数据结构都存在可变与不可变两种数据。这里的集合很像Java语言与C语言中的Set,用法基本一样。但是在Objective-C语言中同一个集合可以储存不同对象的数据。下面分享一个例子就很清楚的看出。 1. 创建不可变集合对象 [NSNumber转载 2012-06-20 20:12:49 · 1029 阅读 · 0 评论 -
ios的Framework简介
Framework 简介Mac OS X 扩展了 framework 的功能,让我们能够利用它来共享代码和资源。framework 在概念上有点像 Window 下的库,但是比库更加强大,通过 framework 我们可以共享所有形式的资源,如动态共享库,nib 文件,图像字符资源以及文档等。系统会在需要的时候将 framework 载入内存中,多个应用程序可以同时使用同一个 framew转载 2012-06-20 20:28:21 · 15692 阅读 · 0 评论 -
Objective-C 内存管理精髓(转载)
文/OSChina之前写过类似的文章,这篇以做总结,希望能帮助刚上船的兄弟。_iPhone系统中的Objective-C的内存管理机制是比较灵活的,即可以拿来像C/C++一样用,也可以加个AutoreleasePool让它升级为半自动化的内存管理语言。当然,也不能拿JAVA虚拟机中的全自动化GC来比?引用计数是实例对象的内存回收唯一参考引用计数(retainCoun转载 2012-08-02 09:25:12 · 766 阅读 · 0 评论 -
Objective-C 的 self 和 super 详解
在 Objective-C 中的类实现中经常看到这两个关键字 ”self” 和 ”super”,以以前 oop 语言的经验,拿 c++ 为例,self 相当于 this,super 相当于调用父类的方法,这么看起来是很容易理解的。以下面的代码为例:@interface Person:NSObject { NSString* name;}- (void) setName:转载 2012-09-10 23:39:10 · 1090 阅读 · 0 评论 -
在宏定义中使用可变参数
实际项目中,我们为了方便,经常会使用宏定义函数, 这样方便调用且简洁直观。 这里介绍可变参数在宏定义中的使用方法: object c的代码示例如下,#define Spide(str,...) \ { \原创 2012-11-09 09:00:17 · 1785 阅读 · 0 评论 -
NSDateFormatter格式详细列表一览
感谢原作者:http://www.cnblogs.com/xinus/archive/2012/10/29/NSDateFormatter_samples.html前言:iOS开发中NSDateFormatter是一个很常用的类,用于格式化NSDate对象,支持本地化的信息。与时间相关的功能还可能会用到NSDateComponents类和NSCalendar类等。本文主要列出N转载 2012-11-09 10:00:19 · 2415 阅读 · 0 评论 -
关于iPhone的Retina屏幕
Retina屏幕是苹果公司推出的一种具备超高像素密度的液晶屏,它可以将960×640的分辨率压缩到一个3.5英寸的显示屏内。也就是说,该屏幕的像素密度达到326像素/英寸, 显示效果极佳, 在开发过程中,为了保证兼容旧的屏幕,可能需要判断是否为Retina屏幕。1. 获取当前手机是否是Retina屏幕([UIScreen instancesRespondToSelector原创 2012-05-25 11:08:42 · 1461 阅读 · 0 评论 -
使得C/C++代码兼容支持OC代码的方法
我们知道oc代码本身就可以兼容支持C/C++的代码。 但在ios项目过程中, 我们可能还会经常需要使用一些C/C++的组建,公共库的代码。 同时可能又需要在这些C/C++代码中加入OC的接口调用等。 下面就介绍一种让C/C++代码支持OC代码的方法: 1. 右键点击相关的C代码, 选择Show File Inspector 2. 右侧的inspect原创 2012-12-07 09:19:28 · 4159 阅读 · 0 评论 -
ios6 SDK的新特性
每次ios大版本的更新,都会带来一些新的东西,对开发者来说,有利有弊。 好处是,新增了很多新的属性,控件和api,开发者权限更大了,可以轻松实现更多的功能。弊端在于,可能废除了一些旧的api接口,需要做更多的适配和兼容。通过自己开发过程中的一些经验,查阅ios6 SDK以及参考网上一些文档。 总结了下面这些关于ios6系统的新特性,方便大家在后续开发过程中进行对比参考。 一 关于内原创 2012-12-08 10:10:28 · 4552 阅读 · 0 评论 -
使用C的库函数获取当前本地时间
1. tm结构体struct tm {inttm_sec; /* seconds after the minute [0-60] */int tm_min;/* minutes after the hour [0-59] */int tm_hour;/* hours since midnight [0-23] */int tm_mday;/* day of th原创 2012-12-12 15:48:28 · 1518 阅读 · 0 评论 -
OC的KVO模式漫谈
Key-Value Observing (简写为KVO):当指定的对象的属性被修改了,允许对象接受到通知的机制。每次指定的被观察对象的属性被修改的时候,KVO都会自动的去通知相应的观察者。 因为KVO模式本身获得了框架级别的支持,所以开发人员不需要自己设计观察者模式,不用添加额外的代码,使用方便。KVO模式的工作原理: 如果A对象希望在B对象的一个特定属性改变时原创 2013-01-25 09:03:56 · 2381 阅读 · 0 评论 -
iPhone程序的内存泄漏问题
1 使用xcode自带的Clang static analyzer 检查内存泄漏 build -> build and analyze (Cmd + shift + A) 这样编译和分析, 不过不一定所提示的都是错误和内存泄漏, 必须仔细审查2 可以在工程设置中,开启 Run Static Analyzer原创 2012-05-25 17:37:01 · 954 阅读 · 0 评论 -
iphone开源项目分享
http://www.ityran.com/thread-907-1-1.html扫描wifi信息:http://code.google.com/p/uwecaugmentedrealityproject/http://code.google.com/p/iphone-wireless/条形码扫描:http://zbar.source转载 2012-05-21 13:26:40 · 1478 阅读 · 0 评论 -
xcode4快捷键
1. 文件CMD + N: 新文件CMD + SHIFT + N: 新项目CMD + O: 打开CMD + S: 保存CMD + SHIFT + S: 另存为CMD + W: 关闭窗口CMD + SHIFT + W: 关闭文件2. 编辑CMD + [: 左缩进CMD + ]: 右缩进CMD + CTRL + LEFT: 折叠CMD +转载 2012-05-18 09:27:18 · 615 阅读 · 0 评论 -
Object-C 基础之6 — 文件类的各种操作方法
本文来讲述 文件类的各种操作方法,示例如下: NSString *fName=@"testfile.m"; NSFileManager *fm=NULL; NSDictionary *dict=NULL; fm=[NSFileManager defaultManager]; if ([fm fileExistsAtPath:fName]==NO) { NSLog(@"file not exist!"); return 1; }原创 2011-03-20 18:00:00 · 5723 阅读 · 0 评论 -
Object-C 基础之4 — 数字类的各种操作方法
<br /> 本文将介绍Object-C中对数字类的一些常用的操作方法, 还是使用示例代码进行说明吧<br /> <br /> <br /> NSNumber *myNumber, *floatNumber, *interNumber; NSInteger myInt; myNumber=NULL; interNumber=NULL; floatNumber=NULL; interNumber=[NSNumber numberWith原创 2011-03-20 16:23:00 · 2225 阅读 · 0 评论 -
Object-C 基础之3 — 字符串类各种操作方法
<br /> 在开始本文的主要内容前,先介绍下object-c中的字符串类。<br /> <br /> NSString : 常量字符串类。<br /> NSMutableString:可变字符串类。<br /> <br /> Object-C 中的字符串类,封装了各种对字符串的操作方法,学会使用并熟悉这些方法能够在方便我们在代码中对字符串的处理。 以下列举了一些常用的方法,用示例代码来进行说明吧,这样影响更深刻。<br /> <br /> NSString *str=原创 2011-03-20 15:44:00 · 9946 阅读 · 0 评论 -
Object-C 基础之5 — 集合类的各种操作方法
<br /> NSMutableArray *weekName=[NSMutableArray arrayWithObjects: @"MM",@"TT",@"WW",nil]; int i=0; for(i=0;i<3;i++) { NSLog(@"%i %@", i+1,[weekName objectAtIndex:i]); }原创 2011-03-20 16:45:00 · 1808 阅读 · 0 评论 -
Object-C 基础之7 — 内存管理(0)
<br /> 内存管理算是学习一门语言时,比较难但是最重要的一部分。 object-c 中的Foundation框架带入了引用计数这一概念和思想来管理内存。极大的减轻了程序员内存管理的负担,你不必再那么小心翼翼。 <br /> 引用计数的概念如下,创建对象时,将它的引用计数设置为1,每次必须保持该对象时,就发送一条retain消息,使其引用计数加1。Foundation框架提供的其他一些方法也可以增加对象的引用计数,例如,把对象添加到数组中。<br /> 不需要对象时,可以通过发送一条relea原创 2011-03-22 01:44:00 · 1573 阅读 · 1 评论 -
Object-C 基础之9 — 对象复制
本文将讲述对象复制相关知识,以及一些需要注意的地方。 首先,我们看一段简单的代码 NSMutableArray *dataArray=[NSMutableArray arrayWithObjects:@"1",@"2",@"3",@"4",nil]; NSMutableArray *dataArray2=NULL; dataArray2=dataArray; //相同的引用 NSLog(@"dataArray is : %@",dataArray);原创 2011-03-23 00:35:00 · 2418 阅读 · 2 评论 -
Object-C 基础之0 — object c简介
欢迎来到oc的领地! 本文将介绍object c的历史,以及相关特性和概要简介。 1983年, object-c诞生了。 1985年,Next公司使用oc开发出了nextstep操作系统 1997年,apple收购了Next公司,在nextstep基础上,开始设计Mac OS 2001年,apple正式发布Mac OS X 2007年,apple发布iphone .................. Object C:原创 2011-03-26 11:27:00 · 3840 阅读 · 0 评论 -
Object-C 基础之8 — 内存管理(1)
自动释放池,在object-c模块中,发挥着重要作用,能够帮助我们清理很多内存。但是它也不是万能的,也必须要合理小心的使用。 本文通过一个示例代码,来介绍下自动释放池的用法和注意事项。NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; MemFoo *pMem=[[MemFoo alloc]init]; NSLog(@"aaaaa retaincount: %d", [pMem retainCount]);原创 2011-03-22 23:56:00 · 1573 阅读 · 0 评论 -
Object-C 基础之10 — 使用xml进行归档
<br /> 在object c中,归档是指用某种格式来保持一个或者多个对象,以便后续可以还原这些对象的过程。<br /> 如果你使用的对象是NSString, NSData,NSDictionary,NSArray,NSNumber对象, 则可以使用writeTofile方法,将数据写入到文件中。<br /> <br /> 今天介绍下通过NSDictionary使用xml进行归档的方法。示例代码如下:<br /> <br /> 写文件:<br /> <br /> NSD原创 2011-03-23 23:21:00 · 2407 阅读 · 0 评论 -
Cocoa对象的生命周期
<br /> <br /> 本文将讲解下Cocoa对象的生命周期。<br /> <br /> 和其他面向对象编程语言不同,object-c没有垃圾回收机制,垃圾回收机制开销大而且不灵活。Cocoa和oc使用一种主动,策略驱动的方式保持对象,并在不需要的时候进行清理。<br /> <br /> 对象的解除分为两个过程: <br /> 1.首先是对象的dealloc方法被调用,以释放实例变量和动态分配的内存。<br /> 2.操作系统将对象的本身销毁,并回收对象占用的内存。<br /> <b原创 2011-04-09 19:16:00 · 1103 阅读 · 0 评论 -
Object C与 C/C++混合编程
本文介绍下object c和C/C++混合编程。 首先介绍文件类型和可识别的代码类型。 .m文件 : 可识别object c , c代码 .mm文件: 可识别object c, C, C++代码 .cpp文件: C/C++代码 注意: 1. mm文原创 2011-06-07 00:05:00 · 3364 阅读 · 0 评论 -
Object-C 基础之1 — 属性的介绍与使用
今天介绍下object-c中的属性,总结思考整理此文。原创 2011-03-17 23:04:00 · 2834 阅读 · 0 评论 -
ios5的新特性和潜规则
总结了ios5在平时的开发过程中需要注意的潜规则和一些新特性, 便于在后续的开发中参考。1. 关于ios5的菊花 ios5的菊花限制了大小,若要显示更小的菊花,可以使用以下方法 float sysVer = [[UIDevice currentDevice] systemVersion] floatValue]; if(sysVer > 5.0)原创 2012-05-09 01:25:30 · 886 阅读 · 0 评论 -
使用ALAssertLibrary获取系统相册
使用ALAssertLibrary必须要开启系统定位, 先判断是否可以使用 _isCanReadALAsset = YES; void (^assetGroupEnumerator)(ALAssetsGroup *, BOOL *) = ^(ALAssetsGroup *group, BOOL *stop) { }; // Group E原创 2012-05-09 16:01:57 · 1470 阅读 · 0 评论 -
关于iPhone系统statusbar
1. 进入系统相机时, 系统会自动隐藏statusbar, 不需要人工去调用hidden2. 设置statusbar的隐藏和显示 [[UIApplicationsharedApplication]setStatusBarHidden:NO];[[UIApplicationsharedApplication]setStatusBarStyle:UIStatusBar原创 2012-05-24 13:14:02 · 2806 阅读 · 2 评论 -
一些可以常用的宏定义
1. 安全释放对象#ifndef _RELEASE( x )#define _RELEASE( x ) if( nil != (x)){ [(x) release] ; (x) = nil ; }#endif原创 2012-05-29 12:14:54 · 976 阅读 · 0 评论 -
object C 中使用正则表达式
在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。常用的第三方正则库:原创 2012-05-31 18:56:38 · 7015 阅读 · 1 评论 -
object c中 new和alloc区别
在object-c基础教程这本书里老是可以看见类似下面这种代码,我这小菜鸟就纳闷了,啥区别啊,看上去都一样么。网上找了找,找到一些说法,这里先摘出来。 className* object = [className new];or className* object = [[className alloc] init];背景说明,new是较为老式的写法,后来发现只有一个n转载 2013-02-01 09:07:19 · 14469 阅读 · 4 评论