IOS
HamasN
若本博内容侵犯了您的合法权益时或者对转载内容有疑义的内容原作者请以邮件的形式进行联系我也可在本博客给我留言email:hamasn163.com
展开
-
iOS Task Completion API abuse
As many of you are aware, iOS4 introduced several APIs that bring some degree of multitasking to iOS applications: one of them was originally meant to give an app the extra chance to finish some worth翻译 2012-04-09 16:28:09 · 1548 阅读 · 0 评论 -
IOS Socket编程
iphone的标准推荐CFNetwork C库编程.但是编程比较烦躁。在其它OS往往用类来封装的对Socket函数的处理。比如MFC的CAsysncSocket.在iphone也有类似于开源项目.cocoa AsyncSocket库,官方网站.它用来简化CFnetwork的调用.一.在项目引入ASyncSocket库 1.下载ASyncSocket库源码 2.把ASyncSoc转载 2012-04-09 14:22:40 · 9731 阅读 · 4 评论 -
CocoaAsyncSocket Http Server
转自:http://disanji.net/category/iphone-doc/http://www.cnblogs.com/mobileworld/archive/2011/12/30/2307246.html#2283713CocoaAsyncSocket支持tcp和udp。其中:AsyncSocket类是支持TCP的AsyncUdpSocket转载 2012-04-09 17:27:42 · 2073 阅读 · 0 评论 -
Notifications
转自:http://blog.sina.com.cn/s/blog_5df7dcaf0100c0q2.html第十四章: 使用 Notifications用户可能使用RaiseMan并打开了几个document, 然后他发现紫色的背景颜色实在是不利于阅读文档正文. 于是,他打开Preferences panel修改背景颜色,不过令人失望的是,已经存在的文档的背景颜色不会跟着改变.转载 2012-04-24 10:56:48 · 868 阅读 · 0 评论 -
@class的用法
@class指令的用法看上去有点混乱,下面给出我的一点小见解。@class指令设置了对另一个类的引用。举个例子,在下面的代码中,使用了@class HomeBrewRecipes通知编译器 HomeBrewRecipes 事实上是一个类。所以当编译器的得到第十行后,不需要其他的信息,假定一切都正常,然后继续执行。 12345678910原创 2012-04-23 10:39:52 · 3258 阅读 · 1 评论 -
Objective-C利用协议实现回调函数
在编写iphone开发时,最常用的就是回调函数。自己编写回调函数,实现动态加载数据,加载完数据之后就利用回调函数通知给前台页面,显示相应数据的界面。在iphone中利用协议可以很容易的实现回调函数,后台加载数据,然后显示在前台页面.下面举个通俗的例子: 某天,我打电话向你请教问题,当然是个难题,^_^,你一时想不出解决方法,我又不能拿着电话在那里傻等,于是我们约定:等你转载 2012-04-24 17:17:19 · 2050 阅读 · 1 评论 -
在IOS项目中使用常量
objc不像java,有静态常量。比如:public static final RADIAS=180;目前我的做法是,使用c的预处理#define。比如,在头文件中:#define MIN_VELOCITY 10 #define LOOP_COUNT 100@interface AnimationView : UIView {在代码中使用转载 2012-04-25 10:32:47 · 6955 阅读 · 0 评论 -
协议分非正式协议和正式协议
先说说非正式协议非正式协议在Obj-c中关键字虽然是interface,但是这个和C#中的借口并不完全相同。回忆之前学过的内容,我们定义一个类Sample时,会生成一个Sample.h,代码如下:#import @interface Sample:NSObject {}-(void) HelloWorld;@end它表明Sam转载 2012-04-25 08:42:36 · 1070 阅读 · 0 评论 -
CopyWithZone:关于深拷贝/浅拷贝
内容摘自官方文档和论坛自己能看懂,我也就不翻译了,麻烦~各位凑合着看,资料说的非常清楚Copying CollectionsThere are two kinds of object copying: shallow copies and deep copies. The normal copy is a shallow copy that produces a new c原创 2012-04-12 17:14:44 · 13000 阅读 · 0 评论 -
NSNotificationCenter defaultCenter
今天在看代码的时候遇到了NSNotificationCenter defaultCenter这个函数,特学习了一下参数含义和用法。新建一个继承于UIViewControll的类,并在.m中添加如下代码-(void)doSomeThing:(NSNotification *)aNote{ NSDictionary *dict = [aNote object]; NS转载 2012-04-17 09:15:18 · 2346 阅读 · 0 评论 -
IOS下string和char转换
言简意赅,就这么多,不废话!string 转成 char:char mychar[100];NSString * mystring;strcpy(mychar,(char *)[mystring UTF8String]);char 转成 string:NSString *TempString;char mychar[100];mystring=[NS原创 2012-04-28 15:39:13 · 12846 阅读 · 2 评论 -
iPhone应用程序编程指南(文件和网络)
文件和网络运行在iPhone OS系统上的应用程序可以通过各种Core OS和Core Services框架来访问本地的文件系统和网络。读写本地文件系统的能力使您可以保存用户数据和应用程序状态,以备后用;而访问网络的能力则使您可以和网络服务器进行交流,进而实现远程操作的执行和数据的收发。文件和数据管理iPhone OS系统上的文件和用户的媒体数据及个人文件共享闪存上的空转载 2012-05-02 19:46:38 · 1499 阅读 · 0 评论 -
NSFileManager和NSFileHandle
NSFileManager和NSFileHandle(附:获取文件大小 )//file文件操作NSFileManager 常见的NSFileManager文件的方法:-(BOOL)contentsAtPath:path 从文件中读取数据-(BOOL)createFileAtPath:path contents:(BOOL)data at转载 2012-05-03 13:13:32 · 1926 阅读 · 1 评论 -
error: jump to case label error: crosses initialization of xxx
今天写ojb-c的代码,遇到了这样一个问题,error: jump to case label error: crosses initialization of xxx交叉初始化~!问题出在case语句内定义的变量的作用域上面。因为 本地变量的作用域仅在花括号之间。只要把每个case语句用括号(" {} ")括起来,变量的作用域限定在相应case语句之内,就不会出现交原创 2012-05-04 08:40:52 · 1041 阅读 · 0 评论 -
ASIHTTPRequest类库简介和使用说明
官方网站: http://allseeing-i.com/ASIHTTPRequest/ 。可以从上面下载到最新源码,以及获取到相关的资料。使用iOS SDK中的HTTP网络请求API,相当的复杂,调用很繁琐,ASIHTTPRequest就是一个对CFNetwork API进行了封装,并且使用起来非常简单的一套API,用Objective-C编写,可以很好的应用在Mac OS X系统和iO转载 2012-05-04 08:45:14 · 1189 阅读 · 0 评论 -
Objective-c - NSArray(NSMutableArray)
//NSArray 初始化 NSArray *arr1 = [NSArray arrayWithObject:@"a" @"b" @"c"]; //NSArray *arr1 = [[NSArray alloc] initWithObjects:@"a", @"b", @"c", nil]; NSLog(@"arr1: %@", arr1);转载 2012-05-03 14:55:38 · 1722 阅读 · 0 评论 -
IOS常用的类 函数 COCOA 设计模式
Cocoa中常用的类NSStringNSMutableString赋值NSString *myString = @"some string";NSString *myString = [NSStringstringWithFormat:@"object = %@",someObject];mystring = [NSStrin转载 2012-04-19 10:36:17 · 1158 阅读 · 0 评论 -
ios中数据的读写操作
创建与删除://创建文件管理器NSFileManager *fileManager = [NSFileManager defaultManager];//获取路径//参数NSDocumentDirectory要获取那种路径NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUse转载 2012-05-07 16:29:10 · 1526 阅读 · 0 评论 -
program received signal:SIGABRT
平常我们写程序的时候经常会遇到这样的问题。program received signal:SIGABRT 以及EXC_BAD_ACCESSSIGABRT 一般是过度release 或者 发送 unrecogized selector导致。EXC_BAD_ACCESS 是访问已被释放的内存导致。查了下StackOverflow。找到下面的答案,说道linux内核下面了!SIG原创 2012-05-07 17:38:45 · 24226 阅读 · 0 评论 -
类别@interface Class1 (Category1)
类别是为现有的类添加新方法的方式。利用object-c的动态运行时分配机制,可以为现有的类添加新的方法,这些新方法的Objective-C术语称为类别。申明类别:@interface NSString (NumberConvenience)- (NSNumber *) lengthAsNumber;@end实现:@implementation NSS转载 2012-04-23 11:21:44 · 1099 阅读 · 0 评论 -
iphone上实现HTTP server
http 是计算机之间通讯协议的比较简单的一种。在iPhone上,由于没有同步数据和文件共享的APIs,实现iPhone应用程序与PC之间的数据传输的最佳方式就是在程序中嵌入一个http服务器。在这篇帖子理,我将演示如何写一个简单但可以扩展的http服务器。该服务器类也可在Mac下运行。介绍示例程序运行效果如下:程序很简单:你可以编辑和保存一个文本文件(总是转载 2012-04-16 19:31:43 · 8074 阅读 · 0 评论 -
Object-C属性
文档地址:Property Declaration Attributes section of the Objective-C Programming Languageassign:指定setter方法用简单的赋值,这是默认操作。你可以对标量类型(如int)使用这个属性。你可以想象一个float,它不是一个对象,所以它不能retain、copy。retain:指定retain应该在后面转载 2012-05-28 10:50:11 · 1456 阅读 · 3 评论 -
出现警告:incompatible pointer types returning from a function with result type
出现警告:incompatible pointer types returning from a function with result type的解决办法 - (UIViewController *)masterViewController{if (_viewControllers && [_viewControllers count] > 0) {NSObject *control原创 2012-05-25 13:32:09 · 11198 阅读 · 0 评论 -
object-c中的self和super
转自:http://web2.0coder.com/archives/305在objc中的类实现中经常看到这两个关键字”self”和”super”,以以前oop语言的经验,拿c++为例,self相当于this,super相当于调用父类的方法,这么看起来是很容易理解的。以下面的代码为例:?1234转载 2012-05-14 09:40:15 · 1693 阅读 · 1 评论 -
XCode快捷键
从雨痕老大的博客上转来的 http://www.rainsts.net/article.asp?id=1066 读书人偷书不算窃 :)1. 文件CMD + N: 新文件CMD + SHIFT + N: 新项目CMD + O: 打开CMD + S: 保存CMD + SHIFT + S: 另存为CMD + W: 关闭窗口CMD + SHIFT + W: 关闭转载 2012-05-15 10:50:16 · 893 阅读 · 0 评论 -
ios获取本地图片以及图片信息
转自SFlying技术随想转载 2012-06-05 13:48:02 · 3693 阅读 · 0 评论 -
CGImageRef与UIImage互转
CGImageRef cgRef= CGBitmapContextCreateImage(context);UIImage* image = [UIImage imageWithCGImage: cgRef]; UIImage转换成CGImageRef UIImage *uiImage=[UIImage imageNamed:@"abc.png"];CGImageRef cgRef原创 2012-06-05 15:59:34 · 15563 阅读 · 0 评论 -
GCD之dispatch queue
转自博客园:http://www.cnblogs.com/scorpiozj/archive/2011/07/25/2116459.htmliOS中多线程编程工具主要有: NSThreadNSOperationGCD这三种方法都简单易用,各有千秋.但无疑GCD是最有诱惑力的,因为其本身是apple为多核的并行运算提出的解决方案.虽然当前移动平台用双核的不多,但不影响GCD作为多线程转载 2012-06-08 10:47:16 · 979 阅读 · 0 评论 -
用法总结:NSNumber、NSString、NSDate、NSCalendarDate、NSData
NSNumber+ (NSNumber *)numberWithInt:(int)value;+ (NSNumber *)numberWithDouble:(double)value;- (int)intValue;- (double)doubleValue;NSNumber可以将基本数据类型包装起来,形成一个对象,这样就可以给其发送消息,装入NSArray中等转载 2012-05-20 13:19:00 · 1639 阅读 · 0 评论 -
用法总结:NSArray,NSSet,NSDictionary
Foundation framework中用于收集cocoa对象(NSObject对象)的三种集合分别是:NSArray 用于对象有序集合(数组)NSSet 用于对象无序集合 (集合)NSDictionary用于键值映射(字典)以上三种集合类是不可变的(一旦初始化后,就不能改变)以下是对应的三种可变集合类(这三种可变集合类是对应上面三种集合类的转载 2012-05-20 13:27:36 · 1237 阅读 · 0 评论 -
关于cocoa编程模块间协作的一点总结(delegate/T-A/notification/...)
在cocoa编程中,我们经常会遇到delegate、Target-Action、notification等等这些方法,我觉得从某种角度看,可以将这些方法总结在一起,它们就是为不同模块间提供协作的方法,这种协作在这里我把它理解为是“回调”,其实"回调"二字在这里更多是借用,并没有认真地去考究过这些正是一堆回调函数,纯粹是觉得挺像,感觉用来说明问题挺方便,所以就借用一下,应用层我们常见的"回调"就有以转载 2012-04-24 11:01:52 · 1103 阅读 · 0 评论 -
NSTimer
创建一个 Timer+ scheduledTimerWithTimeInterval: invocation: repeats:+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti invocation:(NSInvocation *)invocation repeats:(BOOL)yesOrNo;转载 2012-05-23 10:28:57 · 1486 阅读 · 0 评论 -
Objective-C Memory Management For Lazy People
原文地址:http://interfacelab.com/objective-c-memory-management-for-lazy-people/ 有空的时候把主要内容给翻译一下。Memory Management in Objective-C is Easier Than James Gregory ThinksI know the concept of me翻译 2012-05-30 13:32:30 · 1537 阅读 · 0 评论 -
NSRange Exception
UITableView scrollToRowAtIndexPath problem出现的提示是这样的:Terminating app due to uncaught exception 'NSRangeException', reason: '-[UITableView scrollToRowAtIndexPath:atScrollPosition:animated:]: secti原创 2012-05-24 16:27:21 · 2594 阅读 · 0 评论 -
NSInvocation
在 iOS中可以直接调用 某个对象的消息 方式有2中一种是performSelector:withObject:再一种就是NSInvocation第一种方式比较简单,能完成简单的调用。但是对于>2个的参数或者有返回值的处理,那就需要做些额外工作才能搞定。那么在这种情况下,我们就可以使用NSInvocation来进行这些相对复杂的操作NSInvocation可以处理参转载 2012-05-24 17:17:57 · 921 阅读 · 0 评论 -
内存管理
内存管理相关方法cocoa类中的根类NSObject有几个方法(类方法)是对内存进行管理的。1)alloc方法:为对象分配一块内存空间;当alloc一个对象空间时,retain count加1。2)dealloc方法:用于释放对象的空间。此方法不必手工调用,系统通过引用计数器(retain count)来判断是否调用该方法:当对象的retain Count的计数大于或者等于1的时候转载 2012-05-20 13:33:49 · 1391 阅读 · 3 评论 -
the left operand of ** is a garbage value
CapLocation location = 0; if (segmentedControl.tag == SegmentControlTag) { if (segmentIndex == 0) location = CapLeft; else if (segmentIndex == 2) lo原创 2012-05-25 13:25:24 · 4973 阅读 · 0 评论 -
Code Sign error: a valid provisioning profile matching the application's Identifier 'com.yourcompany
出现这个错误的原因是因为:appid和provisioning profile不匹配!有两种解决的办法:重新下载provisioning profile,或者可能因为:生成证书和appid 所用的根证书不同,最好重新都生成然后下载。(这个方法我没有尝试啦~我觉得很笨。可能有些时候这是必须的吧)第二种方法:也就是我百试不爽的办法~你的xcode里的公司名称默认应该不是“yourcompany原创 2012-07-04 10:21:45 · 10135 阅读 · 0 评论 -
XCODE4.x添加FrameWork
转自:http://blog.csdn.net/closewbq/article/details/6821642 xcode3.x的时候,只要在工程framework的文件夹上点击右键就会有add这个菜单,然后点击add里面的existing Framework菜单项就可以轻松的添加相关的 框架了。而xcode4的时候这些菜单都没有了。以下是添加frame的方式。转载 2012-07-04 11:40:29 · 3340 阅读 · 0 评论 -
dispatch queues GCD
转自:http://yxiaogang.blog.163.com/blog/static/196021162201110255429370/ 尊重原创,对其中的错别字以及部分发现的差错进行修改,并对内容进行补充。我们几乎可以调度队列去完成所有用线程来完成的任务。调度队列相对于线程代码更简单,易于使用,更高效。 下面讲主要简述调度队列,在应用中如何使用调度队列去执行任务。转载 2012-06-19 16:33:24 · 1451 阅读 · 0 评论