随笔分类 -  iOS

摘要:来源:http://www.111cn.net/sj/iOS/42911.htmiphone中图像通常存储在4个地方【相册、应用程序包、沙盒、Internet】,通过这4个源,我们就可以存取应用图片。1.相册 iphone的相册包含摄像头胶卷+用户计算机同步的部分照片。用户可以通过UIImagePickerController类提供的交互对话框来从相册中选择图像。但是,注意:相册中的图片机器路径无法直接从应用程序访问,只能通过终端用户去选择和使用相册图片2.应用程序包 应用程序包可能会将图像与可执行程序、Info.plist文件和其他资源一同存储。我们可以通过本地文件路径来读取这些... 阅读全文
posted @ 2012-09-27 14:35 pointer2011 阅读(293) 评论(0) 推荐(0)
摘要:刚转到iOS开发不久,今天在项目中遇到一个问题,即跳出viewController时没调用dealloc函数,首先要明确出现这个问题与viewController内某个实例变量init后没有release没有任何关系,原因出在这一句:因为在代码里设置target:self(其他常见的有设置委托对象)后self会被retain一次,如果不做相应处理则问题出现,解决办法很简单,改为:再在适当的位置调用[timer invalidate];便可,它会使self的retainCount减一,从而是问题解决。由此恍然大悟一个问题,dealloc函数是NSObject类的,则每个对象都有一个dealloc 阅读全文
posted @ 2012-09-06 15:21 pointer2011 阅读(178) 评论(0) 推荐(0)
摘要:制作一个音乐播放app,加入AVFoundatinFramework。运行时会打印如下错误(都没心情看),但app正常运行,事实上这并不算个错误。因为这个框架是针对真机内核配置的,在模拟器上运行时便会抱这种错误,而在真机上则无碍。 阅读全文
posted @ 2012-09-06 14:58 pointer2011 阅读(195) 评论(0) 推荐(0)
摘要:首先说一下不显示的解决:1.考虑编码格式国际通用的是UTF-8,汉字的是GBK。另外,可以看下文档中NSStringEncoding的所有取值,其实不止这些,可以用代码输出所有编码格式,如下: const NSStringEncoding *encodings = [NSString availableStringEncodings]; NSMutableString *str = [[NSMutableString alloc] init]; NSStringEncoding encoding; while ((encoding = *encodings++) != ... 阅读全文
posted @ 2012-09-06 13:06 pointer2011 阅读(2877) 评论(0) 推荐(0)
摘要:UIApplication继承自UIResponder,的主要作用是提供了iOS程序运行期间的控制和协作工作,每个iOS程序运行期间都会有一个UIApplication实例,一般由main函数的UIApplicationMain函数完成,而在代码中可以调用[UIApplication sharedApplication]方法来得到这个实例(有且仅有一个),比如可以利用它判断程序状态: if([UIApplication sharedApplication].applicationState==UIApplicationStateInactive){ NSLog(@"程序在... 阅读全文
posted @ 2012-09-03 10:29 pointer2011 阅读(10052) 评论(0) 推荐(0)
摘要:貌似xcode4.4实现本地化与网上搜的之前版本xcode的有所不同。这里只说4.4上怎么做: 首先是NSLocalizedString(),这是一个宏,本质上是调用了函数 locakizedStrigForKey:.这样,这个宏做的其实就是在当前bundle中查找资源文件名Localizable.strings中键值key所指向的字符串.这样就不难理解还有诸如:NSLocalizedStringFromTable的宏了.sdk中是这么声明的:#define NSLocalizedString(key, comment) \ [[NSBundle mainBundle] loc... 阅读全文
posted @ 2012-08-30 14:33 pointer2011 阅读(957) 评论(0) 推荐(0)
摘要:+ (UIImage *)imageNamed:(NSString *)name方法是在application bundle的顶层文件夹寻找名字的图象 , 如果找到图片, 系统缓存图象。图片内容被加载到系统内存中,使用时直接引用到系统内存。 所以当处理大量图片时,程序使用的内存会迅速上升导致内存警告并退出。 特别在使用Interface Builder建立界面时,如果直接拖动UIImageView 并设置image的图片名称。InterfaceBuilder 正是通过UIImage 类的imageName方法加载图片。图片被缓存,导致内存使用较大。且无法释放,即使release掉 UI... 阅读全文
posted @ 2012-08-23 11:01 pointer2011 阅读(1641) 评论(0) 推荐(0)
摘要:ARC是什么ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。该机能在 iOS 5/ Mac OS X 10.7 开始导入,利用 Xcode4.2 可以使用该机能。简单地理解ARC,就是通过指定的语法,让编译器(LLVM 3.0)在编译代码时,自动生成实例的引用计数管理部分代码。有一点,ARC并不是GC,它只是一种代码静态分析(Static Analyzer)工具。变化点通过一小段代码,我们看看使用AR 阅读全文
posted @ 2012-08-07 09:53 pointer2011 阅读(383) 评论(0) 推荐(0)