YYModel源代码阅读 - 基础知识
YYModel堪称神级大作,虽然不免一些小bug,但是完全不影响膝盖碎一地。文章主要分享在阅读YYModel源代码时,所引发的知识点的补充与思考。
YYModel堪称神级大作,虽然不免一些小bug,但是完全不影响膝盖碎一地。文章主要分享在阅读YYModel源代码时,所引发的知识点的补充与思考。
现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问, 这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是内存对齐。
本文分享博主对内存对齐的一些理解。
持久存储是一种非易失性存储,在重启设备时也不会丢失数据。Cocoa框架提供了几种数据持久化机制:
1)属性列表;
2)对象归档;
3)iOS的嵌入式关系数据库SQLite3;
4)Core Data。
在iOS开发中,持久化数据的方法也并不限于属性列表、对象归档、SQLite3和Core Data。它们只是四种最常用且简单的方法。其实也可以使用传统C语言I/O调用(比如,fopen())读写数据,也可以使用Cocoa的底层文件管理工具。只不过这两种方法都需要写很多代码,并且没有必要这么做。
如今,即便是最简单的计算机程序也会包含一个偏好设置窗口,用户可以在其中设置应用专属的选项。在MAC OS X中,Preferences…菜单通常位于应用菜单中。选择该菜单项会弹出一个窗口,用户可以在其中输入和更改各种选项。iPhone和其他iOS设备有一个专门的“设置”应用程序来进行各种设置,你肯定用过很多次了。
HTTP 我们常用的网络请求之一,然因为各种网络或者硬件原因,网络请求之后总能拿到一些状态返回码,那么它们到底代表什么意思呢?本文就是将这些常见的状态码加以收集,整理归类。
二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。
在这么一个二维码泛滥的时代,一般的App都会支持二维码扫描,那么这个功能应该如何实现呢?
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
随着移动互联网的兴起,网页浏览端不再仅仅只是电脑,更多的用户选择在移动端使用,那么,我们肯定不能再使用电脑版的页面布局,那么我们将如何适应纷繁多样的界面尺寸呢,本问主要介绍如何使用JavaScript实现自适应窗口大小的网页。
MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。
MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。
MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。举个例子,你将一段话写在一个叫 readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。
学习Java我们知道类有三大特征,封装,继承,多态。而在Objective-C中也有继承的概念,今天就来看看Objective-C中的继承和多态。
iOS字符串主要分为两大类:NSString和NSMutableString。即不可变和可变字符串。在很多时候两者使用差异不大。文章分享字符串使用方法。
设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理地运用设计模式可以完美地解决很多问题,每种模式在现实中都有相应的原理来与之对应,每种模式都描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是设计模式能被广泛应用的原因。
原型模式与工厂模式的定义,本文不想在这讲太多,本文主要想在这讲一下对原型模式的一些误解--将原型模式等价于工厂模式。
承接《中篇》继续罗列分享SQL Server状态码。
承接《上篇》继续罗列分享SQL Server状态码。
SQL Server 是高校专业在教学数据库时一定会选用的案例之一,这个数据库是结合微软产品一起使用的,不仅贵,而且不好用。这是在使用之后的心得体会。在代码层面来说,这个是很难使用的。但是,老师说这个以后工作了都会使用到,所以,还是要好好学的。
两者之间存在的“五大不同”。与此同时,着重说明Microsoft Windows64位(x64)操作系统,相对于32位(x86)操作系统的最大优势和劣势是什么?
作为一个正经的科班出身软件工程专业者,想必都知道什么是VC++6.0。这个充满神奇的工具。而作为专业教学课的首选编程IDE,它有着不可撼动的地位。博主不知道别家院系使用何种启蒙工具,反正博主就是这个工具启蒙的。对它,有着又爱又恨得情怀。
摘要也就是内容提要,是论文中不可缺少的一部分。论文摘要是一篇具有独立性的短文,有其特别的地方。它是建立在对论文进行总结的基础之上,用简单、明确、易懂、精辟的语言对全文内容加以概括,留主干去枝叶,提取论文的主要信息。作者的观点、论文的主要内容、研究成果、独到的见解,这些都应该在摘要中体现出来。好的摘要便于索引与查找,易于收录到大型资料库中并为他人提供信息。因此摘要在资料交流方面承担着至关重要的作用。