iOS
文章平均质量分 76
wihing
这个作者很懒,什么都没留下…
展开
-
[iOS] Objective-C的单件模式
首先,苹果官方文档给出了单件模式的例子,代码见本文最后。 其方式是重写release,retain,retainCount,autoRelease,allocWithZone和copyWithZone等方法。 1 重写allocWithZone和copyWithZone的目的是外部在多次调用alloc的时候,内部能够确保对象只创建了一次。 2 重写release、retain、a原创 2012-03-01 15:10:58 · 4435 阅读 · 1 评论 -
dispatch_get_current_queue 废弃
由于iOS7以后 dispatch_get_current_queue 被废弃,所以需要寻找一个替代的方案。 发现 dispatch_get_current_queue 并没有字面上那么简单。 这个函数一般都会跟 dispatch_async 等API配合, 但是试想一下,我们自己创建的线程(比如 NSThread)跟 dispatch_queue_t 没有关系, 那么在我们的线程中调用原创 2013-08-01 13:42:17 · 6420 阅读 · 1 评论 -
不使用 symbolicatecrash 解析崩溃堆栈
如果 使用 symbolicatecrash 解析崩溃堆栈 不起作用,可以通过以下方式看看符号文件和堆栈是否是对应的: dwarfdump --uuid xxx.app dwarfdump --uuid xxx.app.dSYM grep "0x.*com.wihing.xxx .* 如果输出一样的uuid,那么就是对应的,此原创 2013-06-04 15:19:48 · 3339 阅读 · 2 评论 -
viewDidUnload 和 viewWillUnload 被废弃之后的内存警告处理
由于iOS6以上的UIKit不会在内存警告时自动释放视图,所以viewWillUnload和viewDidUnload将不再触发。 因此,在iOS6上,开发者需要负责内存警告时将不用到的视图释放。 WWDC2012的视频有提到,具体代码如下: - (void)didReceiveMemoryWarning { if ([self.view window] == nil) {原创 2013-04-07 21:31:01 · 5021 阅读 · 1 评论 -
UIView的alpha属性和hidden属性
alpha 属性为0.0时视图完全透明,为1.0时视图完全不透明。 hidden属性为YES时视图隐藏,否则不隐藏。 注意事项: 1 当视图完全透明或者隐藏时,不能响应触摸消息。 也就是alpha等于0.0或者hidden为YES的时候,但是当alpha 2 视图的alpha值会影响子视图的绘制,但是子视图的alpha值不变。 文档的原文:This value affects only原创 2013-04-27 16:06:56 · 3293 阅读 · 0 评论 -
[iOS] ViewController的生命周期及其加载View的步骤
首先先阐明ViewController的职责:对内管理与之关联的View,对外跟其他ViewController通信和协调。对于与之关联的View,ViewController总是在需要的时候才加载视图,并在不需要的时候卸载视图,所以也同时担当了管理应用资源的责任。理解ViewController的LifeCycle(生命周期),能够有效地管理应用资源。 ViewController的初始化原创 2012-03-03 12:17:24 · 31621 阅读 · 1 评论 -
使用 symbolicatecrash 解析崩溃堆栈
确认Xcode的环境 /usr/bin/xcode-select -print-path结果应该是: /Applications/Xcode.app/Contents/Developer/如果结果不是上述的路径,则指定一下路径: sudo /usr/bin/xcode-select -switch /Applications/Xcode.app/Contents/Developer/准备好解原创 2013-03-29 20:31:28 · 4552 阅读 · 0 评论 -
WWDC 2012 Session 221 iOS User Interface Design (iOS 用户界面设计)
Bad App Icon (不合格的应用程序图标) 好的应用图标能够抓住用户的眼球,让你的应用在海量的应用中脱颖而出。比如在App Store上搜索应用时,呈现的结果中图标占了很大的排版比例,并且用户喜欢看图片多于文字。所以用户会不会对你的应用感兴趣取决于应用的图标。 instantly recognizable (容易辨认) 1 focus on a原创 2012-09-06 19:50:19 · 2530 阅读 · 0 评论 -
属性在viewDidUnload中设nil,在dealloc中却release
如题,代码如下: - (void)viewDidUnload { self.xxx = nil; } - (void)dealloc { [xxx release]; } 属性在viewDidUnload中用点运算符设为nil,在dealloc中却直接调release,都有其理由。 考虑到现在网上很多误导人的解释,决定记下来。 总结之前我在st原创 2012-05-11 16:59:10 · 3199 阅读 · 4 评论 -
《View Programming Guide for iOS》笔记
View and Window Architecture 1 每个View的背后都有一个Layer负责渲染。Layer的渲染一般由Core Animation完成,并最终由更底层的硬件缓冲区保存屏幕上的每个点。 2 从视觉上看,子视图会遮住父视图的一部分或者全部。就是说,子视图的zorder一定比父视图大。 3 父视图的某些改变会影响到子视图,比如 resize,hide,alpha,t原创 2012-03-19 17:42:43 · 2873 阅读 · 0 评论 -
《View Controller Programming Guide for iOS》笔记
1 ViewController分两种:Content View Controller 和 Container View Controller。 2 View Controller的职责:对内管理Views,对外跟其他ViewController通信和协调,Storyboards可以降低对外部分的复杂度。 3 ViewControllers are brains of you原创 2012-03-12 17:25:54 · 4351 阅读 · 0 评论 -
[iOS] 关于 self = [super init];
先看一下官方文档给出的初始化示例代码: - (id)init { self = [super init]; // Call a designated initializer here. if (self != nil) { // 省略其他细节 } return self; } 容易让人困惑的地方在于,将父类初始化之后,将其返回的对象原创 2012-03-03 21:47:02 · 15980 阅读 · 3 评论 -
Become a iOS coder iOS入门文档
来自苹果官方文档,在初步了解Objective-C并且知道如何创建简单的应用程序之后,以下为进一步的入门文档。 开发者在进一步学习编写iOS应用程序之前,最好先阅读这些文档。 iOS App Programming Guide [iOS应用程序编程向导] 描述iOS应用程序最基本的组成和特性以及如何在你自己的项目中实现这些特性。 iOS Human Inter原创 2012-01-17 16:00:15 · 1965 阅读 · 0 评论 -
Can't add self as subview
iOS7刚发布的时候,总是出现这个 Can't add self as subview 的崩溃,团队内部没出现过,但是外部用户的crash频频上报这个崩溃。原创 2014-06-01 11:37:55 · 19680 阅读 · 10 评论