摘要:
首先说一下不显示的解决:1.考虑编码格式国际通用的是UTF-8,汉字的是GBK。另外,可以看下文档中NSStringEncoding的所有取值,其实不止这些,可以用代码输出所有编码格式,如下: const NSStringEncoding *encodings = [NSString availableStringEncodings]; NSMutableString *str = [[NSMutableString alloc] init]; NSStringEncoding encoding; while ((encoding = *encodings++) != ... 阅读全文
摘要:
UIApplication继承自UIResponder,的主要作用是提供了iOS程序运行期间的控制和协作工作,每个iOS程序运行期间都会有一个UIApplication实例,一般由main函数的UIApplicationMain函数完成,而在代码中可以调用[UIApplication sharedApplication]方法来得到这个实例(有且仅有一个),比如可以利用它判断程序状态: if([UIApplication sharedApplication].applicationState==UIApplicationStateInactive){ NSLog(@"程序在... 阅读全文
摘要:
貌似xcode4.4实现本地化与网上搜的之前版本xcode的有所不同。这里只说4.4上怎么做: 首先是NSLocalizedString(),这是一个宏,本质上是调用了函数 locakizedStrigForKey:.这样,这个宏做的其实就是在当前bundle中查找资源文件名Localizable.strings中键值key所指向的字符串.这样就不难理解还有诸如:NSLocalizedStringFromTable的宏了.sdk中是这么声明的:#define NSLocalizedString(key, comment) \ [[NSBundle mainBundle] loc... 阅读全文
摘要:
+ (UIImage *)imageNamed:(NSString *)name方法是在application bundle的顶层文件夹寻找名字的图象 , 如果找到图片, 系统缓存图象。图片内容被加载到系统内存中,使用时直接引用到系统内存。 所以当处理大量图片时,程序使用的内存会迅速上升导致内存警告并退出。 特别在使用Interface Builder建立界面时,如果直接拖动UIImageView 并设置image的图片名称。InterfaceBuilder 正是通过UIImage 类的imageName方法加载图片。图片被缓存,导致内存使用较大。且无法释放,即使release掉 UI... 阅读全文
摘要:
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 阅读全文