- 博客(17)
- 收藏
- 关注
原创 关于iOS中MVC和MVVM的一些思考
事情从一般开发中一个massive viewController说起,一个巨大的vc一般少则上千行代码,多则上万行。 这中情况下对代码的维护有致命性的障碍,个人亲身体验。 当你试着从6000行的代码中去找到一个网络请求,找到相关的实现逻辑,这已经能够让你眼花缭乱的。 更进一步,如果你打算对某个逻辑,某个场景进行测试,那事情的困难程度非常大。 再者,如果你想重用某一部分的场景逻辑,那
2015-08-16 12:08:09
2997
原创 阿里巴巴2015年面试经历
4月初的在线笔试过了之后预约了5月6号的面试。一个月来断断续续补了前几次笔试面试缺漏的内容,CoreData,内存管理,数据结构等内容。这段时间给我的感觉就是经常在实战打代码,有时候还是要回来补补理论的东西,才能达到理论与实践相结合的效果。五一休息几天之后,今天一大早准备了一下便出发。到了面试酒店之后,安排到等待处等待,叫号之后直接进入大厅面试。入座之后问我看了什么书,回答:O
2015-05-06 20:13:38
719
原创 从C到C++再到Obj-C内存管理学习笔记(三)
前两篇介绍了C与C++的内存管理,这一篇介绍一下Object-C的内存管理。Object-C是C的超集,所有C语言的特性在Object-C都可以实现。然而在内存管理上还是存在一些不同的地方。Object-C即面向对象C语言,其大部分的类型基于Cocoa框架,常见的有NS开头类型。所以Object-C中大部分类型也都是以类为基础的。Object-C中类存放于堆而非栈,
2015-04-19 16:44:43
746
原创 从C到C++再到Obj-C内存管理学习笔记(二)
上一篇讲完内存管理香港概念之后,这一篇重点介绍内存堆栈、malloc()-free()、new-delete的使用及实现过程。首先,我们必须知道的是,每个程序在内存中分为几个存储区,静态存储区,堆栈,堆,自由存储区、常量存储区及程序二进制代码的存储区。还有就是CPU的寄存器。如下图所示:静态存储区:存放上一篇中提到的静态变量,包括静态全局变量、静态内部变量、
2015-04-18 20:35:56
656
原创 从C到C++再到Obj-C内存管理学习笔记(一)
内存管理对于程序设计的重要性不言而喻,这段时间重温了一下C,C++,ObjC的内存管理机制,并做了横向对比,下面对最近所学做个学习笔记,如有纰漏谬误,有请指正。参考书籍:C Primer,C++ primer plus,Programming in Object-C,Effective-C 2.0,其他的个别博客及问答。C与C++C语言和C++语言的内存管理差别不大,应该说C
2015-04-18 16:19:13
705
原创 iOS RunTime 机制浅析(二)
继续上一篇未写完的内容。上一篇写到runtime通过与Foundation Framework interact中的消息转发机制。在第一点中我们提到我们代码中调用函数在runtime sys的执行过程,那么如果没有寻找到指定的函数呢?这时候Runtime sys 会启用NSObject中的 forwardInvocation:函数,这个函数附带一个NSInvocation类型的
2015-04-05 09:51:35
673
原创 iOS RunTime 机制浅析(一)
最近在看某些书籍和博客的时候不时地有Runtime的出现,查了相关介绍之后觉得还是没有彻底地理解其机理,于是今天把官方文档给煲了一下,下面结合相关介绍,做一个相对全面的学习笔记。AbstractRuntime是Object-C特有的一种动态运行机制,compiler中的runtime system实现这种机制。其主要在三方面实现:第一是我们写的原代码,protocal、in
2015-04-04 22:38:49
646
原创 关于线上线下数据同步的想法(待验证)
前段时间遇到一个问题,就是用户多设备登陆管理数据,线上线下同步的问题,这两天想了想,出了个大概想法,思路如下:对于每个用户,线上,线下每个设备端,各创建一张表,用于记录数据操作记录,记录的字段如下:UUID,修改日期,操作类型(删除/增加),其他信息用户首次注册,表均为空。线下操作,增加记录/删除记录时,查看表内是否有相同UUID的记录,有便覆盖,更
2015-03-28 21:24:56
5205
原创 我的微信iOS实习面试经历
由于有内推机会,3.20投了简历,3.24收到25下午五点面试通知,只是提前一天通知,于是只能晚上和第二天早上匆忙复习了下数据结构和算法,后来也证明复习这两个是正确的。作为大学第一次走出校园,到公司实战面试,不够由于大一大二基础打得算还好,iOS方面由于实战较多,所以只要不是太难,应该还答得上来,自然也没很紧张。25号下午3点就出发,地点是在客村tit创意园,6个地铁站就到,由于不是高楼大
2015-03-26 15:39:07
2401
原创 关于nsinteger与负数大小对比判断
今天遇到一个问题 NSLog(@"%i,,%i,,%i,,",array.count-20*(page-1)-1,array.count-20*page-1,(array.count-20*(page-1)-1)>(int)(array.count-20*page-1)?1:2);
2014-10-19 19:33:26
4673
转载 ios开发--NSDate与NSDateFormatter的相关用法
1.NSDateFormatter配合NSDate与NSString之间的转化 NSDateFormatter有下面2个方法: - (NSString *)stringFromDate:(NSDate *)date;//NSDate转NSString - (NSDate *)dateFromString:(NSString *)string;//NSString转NSDa
2014-10-16 16:09:50
722
转载 keychain应用
1.kSecClass key 定义属于那一种类型的keyChain2.不同的类型包含不同的Attributes,这些attributes定义了这个item的具体信息3.每个item可以包含一个密码项来存储对应的密码使用:引入Security包,引入文件 #import 添加
2014-08-12 15:39:30
436
转载 关于IOS中的KeyChain(转载自网上)
一、在应用间利用KeyChain共享数据 我们可以把KeyChain理解为一个Dictionary,所有数据都以key-value的形式存储,可以对这个Dictionary进行add、update、get、delete这四个操作。对于每一个应用来说,KeyChain都有两个访问区,私有区和公共区。私有区是一个sandbox,本程序存储的任何数据都对其他程序不可见。而要想在将存储
2014-08-12 14:28:26
523
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人