主要内容转载自:http://hi.baidu.com/nearthegreen/blog/item/f3a4d71f96429b5842a9adf8.html(可能也是转载),原文没有深究,感谢网络上的伟大的共享主义程序猿。
步骤:
1.通过磁盘工具(系统自带)转化为可读写的dmg文件。
2.双击打开运行,在Xcode and iOS SDK上右键单击,选择“显示包内容”,进入contents文件夹。
3.在contents中找到iphoneSDKSL.dist文件。并搜索10.7,替换为10.8,然后保存该文件,重新安装xcode。
这个我试验成功,不过出现两个问题。
1.安装的时候出现系统正在运行iTurn,让关闭。之后进度不在进行。
解决方法:不予理会。直接强制关闭安装程序。
2.运行Xcode时候出现需要Java Runtime运行环境。让在apple官网下载,如果可以直连网络的话这个很容易。但是我们不能连。所以别的电脑下载安装。错误依旧。
解决方法:重新安装了一边Xcode3.2.6。
后记:可能每个人遇到的问题不一样,仅此借鉴。
关于Activity生命周期的文章很多,而且大部分也说得很详细,所以作为关于这方面的内容我本来不想多说,但是大家可能跟我之前一样,在看这方面的内容的时候都能很容易地看懂,但是过几天又忘了,或者在用的程序中跳转较多的情况下容易混淆。
这是因为没有真正的理解,或者是没有很好的方法来记忆,所以在这里我就说一下我对Activity生命周期的一些记忆的方式,希望对大家能够有所帮助。
Activity生命周期的基本内容我就不多说了,网上一搜一大把,官方文档也说得很详细。总之,我们知道Activity从创建到销毁有多种状态,从一种状态到另一种状态时会激发相应的回调方法,这些回调方法包括:
onCreate 、onStart 、onResume 、onPause 、onStop 、onDestroy 、onRestart
下面这张图就是我的记忆的方式:
不难看出,其实这些方法都是两两对应的,onCreate创建与onDestroy销毁;onStart可见与onStop不可见;onResume可编辑(即焦点)与onPause;这6个方法是相对应的,那么就只剩下一个onRestart方法了,这个方法在什么时候调用呢?答案就是:在Activity被onStop后,但是没有被onDestroy,在再次启动此Activity时就调用onRestart(而不再调用onCreate)方法;如果被onDestroy了,则是调用onCreate方法。
这样大家就应该能够很容易的记住这些方法了。下面再通过一个比喻来看两个Activity的切换过程。
我们把Activity比作一本书,我们要看书,首先从书架上取出书(onCreate),然后放到桌上(onStart),接着打开书(onResume),这样我们就可以看书并可以在书本上写字了。
如果这时候我们要启动另一个Activity,也就是要看另一本书,首先我们放下手中的笔或者说合上书(onPause),然后从书架上拿下另一本书(书2:onCreate),然后把书本2放到桌上并打开(书2:onStart、onResume)。
如果书本1被书本2完全盖住了,即不可见了,就调用书本1的onStop;而如果书本2较小,没有完全盖住书本1,则不会调用。
我们还可以把书本1放回书架上,即onDestroy。
另外,还有一点要注意,Activity在处于onPause、onStop、onDestroy状态下,系统都可以销毁该Activity所在进程,所以我们在处理一些要保存的数据时,必须在onPause方法中进行 ,因为onStop和onDestroy方法不一定会被调用。
OK,就说这么多……
1 封装变化
2 多用组合,少用继承
3 针对接口编程不针对实现编程
4 为交互对象之间松耦合设计而努力
5 类应该对扩展开放,对修改关闭
6 依赖抽象,不要依赖具体类