
object-c
hufeng825
hufeng825@msn.cn
展开
-
Objective-C 语法规范
本文将Objective-C讨论了语言的核心语法。这部分开始详述一些具体的语法。正如你期待的一样,涉及到了定义和类。类并不是特殊的在Smalltalk中,类是具有一些特性的对象。在Objective-C中也一样。一个类是一个对象,对象回应消息。Objectiv转载 2011-09-05 10:45:54 · 1115 阅读 · 1 评论 -
Objective-C学习大纲 一
本文为台湾出版的《Objective-C学习大纲》的翻译文档,系统介绍了Objective-C代码,很多名词为台湾同胞特指词汇,在学习时仔细研读才能体会。AD:所有这篇初学者指南的塬始码都可以由 objc.tar.gz 下载。这篇教学中的许转载 2011-09-05 18:03:29 · 868 阅读 · 0 评论 -
object-c 三
记忆体管理到目前为止我都刻意避开 Objective-C 的记忆体管理议题。你可以唿叫物件上的 dealloc,但是若物件裡包含其他物件的指标的话,要怎么办呢?要释放那些物件所佔据的记忆体也是一个必须关注的问题。当你使用 Foundation framework 建立 c转载 2011-09-05 18:11:15 · 757 阅读 · 0 评论 -
object-c 四
Foundation framework classesFoundation framework 地位如同 C++ 的 Standard Template Library。不过 Objective-C 是真正的动态识别语言(dynamic types),所以不需要像 C+原创 2011-09-05 18:11:54 · 942 阅读 · 0 评论 -
iPhone开发入门篇 “Hello World”分析代码
本篇将介绍了Hello World程序的分析代码,也就是到底这个程序是怎么say Hello的.本文非常适合尚未入门的开发者,希望各位iPhone应用程序开发的初学者喜欢。每个学习程序开发的第一个程序都是“Hello World”,作为刚刚入门的iPhone应用程序开发者,掌转载 2011-09-05 11:37:49 · 931 阅读 · 0 评论 -
Objective-C学习大纲 二
本文为台湾出版的《Objective-C学习大纲》的翻译文档,系统介绍了Objective-C代码,很多名词为台湾同胞特指词汇,在学习时仔细研读才能体会。继承、多型(Inheritance, Polymorphism)以及其他物件导向功能i原创 2011-09-05 18:05:48 · 840 阅读 · 0 评论 -
iOS高效开发必备的10款Objective-C类库
有很多第三方的iOS开发的Objective-C类库可以用来简化很多不必要的工作.经过作者团队的慎重讨论,他们评选出了10款能够极大提高iOS开发效率的类库,根据原文作者的评价来看,基本上有了这10款工具,做iOS开发就真的跟泡Cocoa一样了。AD:原创 2011-09-05 10:50:50 · 1200 阅读 · 0 评论 -
获取手机通讯录里的电话号码
获取iPhone用户手机号使用下面的函数可以返回用户的手机号: extern NSString *CTSettingCopyMyPhoneNumber(); 然后调用即可。 由于这个函数是包含在CoreTelephony中,所以只能用于非官方iPhone SDK。使用下面的函数可以返回用户的手机号: extern NSString *CTSettingCop原创 2011-10-28 10:35:57 · 2854 阅读 · 0 评论 -
如何在发布给已知道UDID设备软件
进入苹果开发者网站登录2进入自己开发后台3到设备页面中4:添加新设备名字可以随便起 添加设备上的UDID6:然后提交 7最后下载到工程文件中添加即可原创 2011-11-18 14:56:13 · 1174 阅读 · 0 评论 -
TTURLRequestCachePolicy
typedef enum { TTURLRequestCachePolicyNone = 0,//没有缓存 TTURLRequestCachePolicyMemory = 1,//内存缓存 TTURLRequestCachePolicyDisk = 2,//磁盘缓存 TTURLRequestCachePolicyNetwork = 4,//利用转载 2011-11-18 16:28:11 · 762 阅读 · 0 评论 -
UITextField 的常用总结
1.UITextField的初始化和设置1textField = [[UITextField alloc] initWithFrame:CGRectMake(120.0f, 80.0f, 150.0f, 30.0f)];2[textField setBorderStyle:UITextBor原创 2011-10-31 13:50:13 · 1941 阅读 · 0 评论 -
UIAlertView的用法
IAlertView *alert =[[UIAlertView alloc]initWithTitle:@"hello" message:@"ipad ,i come" delegate:self cancelButtonTitle:@"ok" otherButtonTitles:ni原创 2011-10-31 18:10:56 · 2279 阅读 · 0 评论 -
Three20库文件
void TTNetworkRequestStarted();//开始状态栏小飞轮void TTNetworkRequestStopped();//停止状态栏小飞轮#define TTIMAGE(_URL) [[TTURLCache sharedCache] imageForURL:_URL]//缓冲中提取图片,没有就去网络下载缓存方案typedef enum {转载 2011-11-18 16:29:40 · 845 阅读 · 0 评论 -
UITableViewController的行为与UIViewController不同
UITableViewController继承自UIViewController,但是initWithNibName:bundle:方法的行为是不一样的。普通的UIViewController如果nibName参数是nil,则自动载入和自己类名相同的xib文件。而UITableViewController遇到nibName为nil时,却不加载xib文件,而是创建一个空的table view。所以,原创 2011-11-01 10:10:23 · 3007 阅读 · 1 评论 -
MKMapView释放的时候崩溃
如果用到了animatesDrop,让图钉从天上掉下来,那么如果图钉没掉下来之前,把包含mapview的view controller释放了,那么可能会导致系统崩溃。因为图钉掉下来之后,mapview会调用包含自己的view controller中的方法。要解决这个问题,释放mapview的时候,应该先执行mapview.delegate = nil;原创 2011-11-01 10:12:04 · 1328 阅读 · 0 评论 -
iphone ipad 开发中遇到的常见错误
EXC_BAD_ACCESS这个异常通常是由之前的错误代码引起的,不会马上中断,而是导致其他正常运行的代码发生异常,所以比较难调试。常见的原因有:double release,重复释放了一个已经释放的指针,检查方法是对Executable设置运行时的 NSZombieEnabled 变量,这样,在释放一个已经失效的指针的时候,程序会自动中断。记得发现问题后把这个变量去掉。字符串忘写原创 2011-11-01 10:13:36 · 990 阅读 · 0 评论 -
关于delegate, category和subclass,个人的理解
发此贴主要是因为自己在学习这三个概念的时候,实在是走了很多的弯路,而且当我意识到这些概念在cocoa中很重要时,我便更糊涂了…或许从C++或者Java转过来的高手一看就明白,所以高手您随便拍砖,指正我的错误;新手的话,不妨稍微看看,说不定对你理解这三个概念有些帮助。总的来说,这三个概念的用途是:扩充已存在类的功能,说白了,就是给已经有的类加上其他的功能。首先最常用的办法是,建立子类转载 2011-11-21 21:53:41 · 782 阅读 · 0 评论 -
object—c 代理 协议 委托 数据源 概念
2011-08-05 10:01(网摘)OBJC 中的 protocol 相当于 java 里的接口,delagate 就是接口的实现类(C中的回调类似 );数据源就是对象遵循了存储数据的协议,可以存储使用数据 协议表示了方法可以被任何类所实现。协议本身不是类。他们只是简单定义了一个其他对象可以实现的接口。当你的类实现了协议中的某个方法的时候也转载 2011-11-21 22:17:31 · 1430 阅读 · 0 评论 -
DEBUG版正常,RELEASE版崩溃
有时在debug版下一切正常,但是用release版在手机上就会崩溃。有可能跟编译器的优化选项有关。可以把Optimization Level设成NONE试一下。原创 2011-11-01 10:00:42 · 1349 阅读 · 0 评论 -
iphone 与 ipad 的自动布局
在Interface Builder里,可以使用structs和spring方式设置一个view的autoresizing属性,可以理解为,上下左右的红线是4根柱子,中间的宽高是两根弹簧。例如,如果左侧选中了红线,表示这个view的左侧间距是固定的。如果中间选中了横的红线,说明这个view的宽度可以随superview自动调整。要注意,这跟通过代码设置是不一样的!代码里,如果设置了vi原创 2011-11-01 10:08:39 · 1164 阅读 · 0 评论 -
模拟器编译通过,真机编译报错
在华夏项目里遇到一个很奇怪的bug,在基类HXViewController里面定义的成员变量,在子类HPContainerViewController里无法直接引用。而且是模拟器环境能够编译运行,而在真机环境下编译报错,说变量没有定义。我怀疑这个问题是xcode或者编译器的bug,如果在xcode里把编译器从默认的gcc换成LLVM,则此部分代码能够编译通过,但是其他部分报错。目前还不清楚是什么引原创 2011-11-01 10:12:38 · 1114 阅读 · 0 评论 -
delegate和protocol
今天上班和同事讨论工程怎么组织的时候涉及到这个话题。iOS开发上对delegate使用广泛。记在这里,如果有新人Google到了,希望能有点帮助。protocol和delegate完全不是一回事,放在一起说,只是因为我们经常在同一个头文件里看到这两个word。protocol和java里interface的概念类似,是Objective-C语法的一部分。定义protoc转载 2011-11-01 11:15:05 · 746 阅读 · 0 评论 -
自定义 UIBarButtonItem
UIBarButtonItem * backBarButtonItem=[[UIBarButtonItem alloc] initWithTitle: @"back" style:UIBarButtonSystemItemCancel target:self action: nil]; [backBarButtonItem setImage: [UIImage imageNa转载 2011-11-01 11:26:47 · 1578 阅读 · 0 评论 -
图片优化
最近在Widget开发中,发现有一些PNG图片在E72手机上显示不正常,原本怀疑是手机的问题。但是我今天把图片重新用Photoshop保存了一下之后,显示就正常了。可能是美工在制作图片的时候没有考虑手机的一些特殊需求。[编辑]基本概念在Photoshop里面编辑图片的时候一般都是使用默认的真彩色模式(图像->模式->RGB颜色),保存的PSD文件也都是用这种模式,优点是所有图像的颜原创 2011-11-01 14:34:18 · 1084 阅读 · 0 评论 -
iphone ipad 中遇到的常用技巧
注释技巧在代码中加注释时,如果以 // TODO: 或 // FIXME: 或者 // !!!: 或 // ???: 开头的话,此注释会出现在方法的下列列表里,方便日后跟踪。利用Xcode4中的自定义代码片段,可以用一个快捷键插入一个预先定义好的注释片段改变模拟器窗口的大小在分辨率比较低的时候,iPad和iPhone模拟器会自动缩小,如果希望保持原始大小,可以修改 /D原创 2011-11-01 10:14:28 · 1333 阅读 · 1 评论 -
多线程(NSOperation和NSOperationQueue)
《objective-c程序设计》第11章AppKit和UIKit,在前面十章,我们都是使用NSLog 在控制台上输出结果。在iPhone/iPad 上,所有的应用程序都有图形化界面。正如我们在第一章所提到的,Xcode 同Interface Builder(界面创建器)集成在一起,通过界面创建器,读者可以创建图形化用户界面。Xcode 还提供了调试工具,帮助你开发Objective-C应用程序。转载 2011-11-02 17:33:26 · 952 阅读 · 0 评论 -
使用NSOperation建立多任务网络连接
Operation 可以很容易实现这个功能。下面就以使用NSOperation处理并行的HTTP请求为例子,说明其用法。首先准备一个 NSOperation 的子类,用于处理 HTTP 请求。@interface RequestOperation : NSOperation { NSURLRequest* _request; NSMutableData* _data;转载 2011-11-02 16:18:05 · 1003 阅读 · 0 评论 -
Object-C 中的Selector 概念
在iphone程序中会大量看到@selector这样的用法。 简而言之,你可以理解 @selector()就是取类方法的编号,他的行为基本可以等同C语言的中函数指针,只不过C语言中,可以把函数名直接赋给一个函数指针,而Object-C的类不能直接应用函数指针,这样只能做一个@selector语法来取. 它的结果是一个SEL类型。这个类型本质是类方法的编号(函数转载 2011-11-21 21:55:56 · 775 阅读 · 0 评论 -
关于UItabView Cell 自定义重用的 代码
cocoa 默认的cell风格修改起来挺灵活的 先提供处自定义代码 其实难点在于cell重用机制 供初学者参考 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString * showUse原创 2011-11-01 16:51:54 · 1613 阅读 · 0 评论 -
Iphone 官方的开发指南
核心应用程序所有的iPhone应用程序都是基于UIKit框架构建而成的,因此,它们在本质上具有相同的核心架构。UIKit负责提供运行应用程序和协调用户输入及屏幕显示所需要的关键对象。应用程序之间不同的地方在于如何配置缺省对象,以及如何通过定制对象来添加用户界面和行为。虽然应用程序的界面和基本行为的定制发生在定制代码的内部,但是,还有很多定制需要在应用程序的最高级别上进行。这些高级的转载 2011-11-03 14:51:03 · 1050 阅读 · 0 评论 -
开发者证书
iOS程序发布测试3-生成ad hoc证书 (2011-04-05 22:53:38)转载标签: ios ad hoc 证书分类: iOS iOS证书分2种,1种是开发证书,用来给你(开发人员)做真机测试的;1种是发布证书,发布证书又分发布到app store的(这里不提及转载 2011-11-03 18:07:05 · 1375 阅读 · 0 评论 -
iphone之通过get和post方式请求asp.net webservice
这篇文章,我将通过一个简单的例子来展现iPhone通过get和post方式请求asp.net webservice。webservice1、创建一个webservicewebservice" title="iphone之通过get和post方式请求asp.net webservice" style="margin-top:0px; margin-right:0px; mar转载 2011-11-03 14:47:09 · 1201 阅读 · 0 评论 -
Custom UIButton
UIButton *Btn;CGRect frame; Btn = [[UIButton buttonWithType:UIButtonTypeCustom] retain];//按钮的类型 [Btn setImage:[UIImage imageNamed:@“aaa.png”] forState:UIControlStateNormal];//设置按原创 2011-11-04 14:25:36 · 1382 阅读 · 0 评论 -
用Cocoa截取屏幕内容并保存为图片
25MAR让我们来写一个抓屏程序吧。当然,你知道只要按command+shift+3就可以抓取当前屏幕对吧?本文介绍如何用cocoa程序来实现这一功能。- (NSImage *) captureScreenImageWithFrame: (NSRect) frame{ // 获取屏幕的图形端口 CGrafPtr screenPort转载 2011-11-04 14:27:19 · 1154 阅读 · 0 评论 -
隐藏状态栏
[[UIApplication sharedApplication] setStatusBarHidden:YES];转载 2011-11-04 14:55:34 · 763 阅读 · 0 评论 -
使用NSTimer与iphone的简单动画,实现飘雪效果
使用NSTimer与iphone的简单动画,实现飘雪效果,这理原理比较简单,就是定时生成一定的雪花图片,然后使用动画的方式向下漂落(我在其它论坛,看到使用path的方式实现的一个云漂来漂去的效果,实际也可以用那种方式实现,这实际就是前面说的动画效果的两种应用)。所以,我们可以在 viewDidLoad事件中,增加一个图片及定时器并启动,这里的pic请在头文件中定义。-(void)viewD转载 2011-11-04 14:36:48 · 923 阅读 · 0 评论 -
使用NSTimer实现倒计时
今天在CocoaChina上面看到有人在问倒计时怎么做,记得以前在看Iphone31天的时候做过一个,今天翻出来运行不了了,原因是我的IphoneSDK升级到3.1了,以前使用的是2.2.1,在2.2.1里面是可以使用NSCalendarDate的,但是在3.1里面不能够使用,怎么办,只好用NSTimer了,最后还是给实现了。代码也比较简单,开始运行viewDidLoad的时候加载 [NSTime转载 2011-11-04 14:50:09 · 1177 阅读 · 0 评论 -
cocoa 延时 NSTimer
利用Timer定时器NSTimer *connectionTimer; //timer对象//实例化timerself.connectionTimer=[NSTimerscheduledTimerWithTimeInterval:1.5 target:selfselector:@selector(timerFired:) userInfo:nil repeats:NO];[[N原创 2011-11-04 14:06:50 · 1406 阅读 · 0 评论 -
Splash Screens - 启动页面设置
不管是开发个人项目还是公司项目,大家通常都有一个需求,就是,在app启动的时候,指定一定的时间来显示自己的或者公司的logo,那么,我就将刚刚写好的启动加载页面设置代码贡献出来。(不对指出请留言,好的话也给我留个言吧,鼓励下我!呵呵) 这里我需要用到NSTimer这个东西,相关的内容可以查看API,有比较详细的解释。 新建一个项目,随便是什么项目,我建立的是转载 2011-11-04 14:54:23 · 936 阅读 · 0 评论 -
翻页效果
引入 #import 公有方法实现[UIView beginAnimations:@"animationID"context:nil];[UIView setAnimationDuration:1.0f];[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];[UIView set原创 2011-11-04 14:20:39 · 938 阅读 · 0 评论