面试题总结

UIViewController生命周期

当一个视图控制器被创建,代码的执行顺序如下

1
- (void)loadView;  
这是子类创建自定义视图层次结构的地方,如果重写了这个方法,
则控制器的view按照loadView方法的描述去创建

2
- (void)viewDidLoad;
在视图加载后调用。只调用一次! 所以只能用来做初始设置,载入各种初始数据内容

3
- (void)viewWillAppear:(BOOL)animated;
在视图即将显示时调用。该函数可以被多次调用  
通常我们会利用这个方法,对即将显示的视图做进一步的设置。
例如,我们可以利用这个方法来设置设备不同方向时该如何显示。

或者当APP有多个视图时,视图间切换时viewDidLoad方法不会被调用,
如果在调入视图时,需要对数据做更新,就可以在这个方法内实现了。

4
- (void)viewDidAppear:(BOOL)animated; 
当视图完全显示到屏幕上时调用

5
- (void)viewWillDisappear:(BOOL)animated; 
当视图将要被关闭,覆盖或以其他方式隐藏时调用。

6
- (void)viewDidDisappear:(BOOL)animated;  
当视图已经被关闭,覆盖或以其他方式隐藏时调用
UIViewController生命周期补充点

- (void)viewWillLayoutSubviews; 
在视图控制器的视图的layoutSubviews方法被调用之后调用。布局发生变化之前
#init初始化不会触发layoutSubviews
#addSubview会触发layoutSubviews
  设置view的Frame会触发layoutSubviews,当然前提 是frame的值设置前后发生了变化
  滚动一个UIScrollView会触发layoutSubviews
  旋转Screen会触发父UIView上的layoutSubviews事件
  改变一个UIView大小的时候也会触发父UIView上的layoutSubviews事件

- (void)viewDidLayoutSubviews;
在视图控制器的视图的layoutSubviews方法被调用之后调用。布局变化之后

#控制器还有三个需要注意的方法
'viewWillUnload' \ 'viewDidUnload' \ 'didReceiveMemoryWarning'
当程序内存不够用时,最先拿到内存警告的是
UIApplication-Window-window.rootViewController一层层往下传
当控制器收到内存警告时,如果要确定要销毁view,则会调用viewWillUnload\viewDidUnload

当控制器销毁后,又需要显示,则控制器会调用loadView,又一步一步开始走一遍

SVN 和 GIT 的区别

Apache Subversion(简称SVN),一個开放源代码的版本控制系統,相较于RCS 、CVS,它採用了分支管理系統,它的設計目標就是取代CVS。

GIT 是一个分布式版本控制软件,最初由林纳斯·托瓦兹(Linus Torvalds)创作,于2005年以GPL发布。最初目的是为更好地管理Linux内核开发而设计。

1. 最核心的区别GIT属于分布式的版本控制系统,而SVN属于集中式的版本控制系统。

SVN - 集中式版本控制系统
●每个版本库有唯一一个“官方地址”,每个用户都从这个唯一地址获取代码、数据;
●获取代码库的更新,也只能连接到这个唯一的代码库,同步以取得最新数据;
●提交必须有网络连接(非本地版本库);
●提交需要授权,如果没有授权,提交失败;
●提交并非每次都能够成功。如果有其他人先于你提交,会提示“改动基于过时的版本,先更新再提交”… 诸如此类;

GIT - 分布式版本控制系统
●众生平等,每个检出(checkout)的版本库,或者更准确的说每个克隆(clone)的版本库都是平等的;
●你可以从任何一个版本库的克隆来创建属于你自己的版本库,同时你的版本库也可以作为源提供给他人,只要你愿意;
●提交完全在本地完成。无须别人给你授权,你的版本库你作主;
●提交总是会成功,因为提交是在本地进行的么;
●甚至基于旧版本的改动也可以成功提交,提交会基于旧的版本创建一个新的分支 ;
●冲突解决不再像是SVN一样的提交竞赛,而是在需要的时候才进行合并和冲突解决 ;
● GIT 的每个用户就好像工作在独立的 Feature Branch(功能分支)中 ;
● GIT 的提交不会被打断,直到你的工作完全满意了,PUSH给他人或者他人PULL你的版本库;
●合并会发生在PULL和PUSH过程中,不能自动解决的冲突会提示您手工完成;
● GIT 版本库统一放在服务器中,所有人都和服务器同步,提交直接到服务器上;
●可以为 GIT 版本库进行授权:谁能创建版本库,谁能向版本库PUSH,谁能够读取(克隆)版本库;
●团队的成员先将服务器的版本库克隆到本地;并经常的从服务器的版本库拉(PULL)最新的更新;
●团队的成员将自己的改动推(PUSH)到服务器的版本库中,当其他人和版本库同步(PULL)时,会自动获取改变;
● GIT 的集中式工作模式非常灵活;
●你完全可以在脱离Git服务器所在网络的情况下,如移动办公/出差时,照常使用代码库;
●你只需要在能够接入Git服务器所在网络时,PULL和PUSH即可完成和服务器同步以及提交;
● GIT提供rebase命令,可以让你的改动看起来是基于最新的代码实现的改动;

简单地说 GIT 就是每一个开发人员的电脑上都有一个完整库,即使没有网络也一样可以Commit,查看历史版本记录,创建项 目分支等操作,网络可用时直接Push到Server端 , 就相当于合并 !
SVN就只有唯一一个中心版本库, 需要网络才能正常使用.而且合并分支很麻烦!

2. GIT把内容按元数据方式存储,而SVN是按文件。

GIT目录是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。.git目录的体积大小跟.svn比较,你会发现它们差距很大。

3. GIT内容的完整性要优于SVN

GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。这里有一个很好的关于GIT内容完整性的讨论 – http://stackoverflow.com/questions/964331/git-file-integrity

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343

推荐阅读更多精彩内容

  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,631评论 9 163
  • 《中国哲学简史--冯友兰》 中国哲学跟西方哲学的很大不同是宗教,宗教的核心就是哲学,但是中国的宗教跟中国的...
    陌路拾荒阅读 398评论 0 1
  • 从现在开始,我要努力。说这句话时,我们想要潜在负责的对象究竟是谁..父母,未来,爱情还是家庭。前半句,是拖延的说辞...
    6cc3712d6f8a阅读 161评论 0 1
  • 信念就是你吃窝头就咸菜吃出了馒头和肉菜的味道。信念就是你是个穷人站在富人的旁边指点江山。信念就是你摔倒了抚摸疼痛的...
    骑手为什么歌唱草原阅读 386评论 1 2