2015-07-21 11:30:02
- double 变量显示nan, nan 表示 Not a num,0.0/0.0时会出现这种情况。
2016-03-20 20:29:04
-
- 私人密钥加密:使用相同的私密加密和解密。
- 公开密钥加密:需要发送密文的一方获得对方的公开密钥,接收方在收到密文后使用私钥解密。
- 混合加密:使用公开密钥加密来发送私人密钥,之后的传输使用私人密钥加密。
- 数字签名技术:发送者用自己的私钥对原文HASH值进行加密,并将原文和HASH值一起发送,接收者用发送者的公钥解密,并效验HASH值。此技术用来保证发送者的身份和内容的真实性。
- HTTPS 是在HTTP与TCP层之间加了SSL。
2016-03-21 22:26:46 以下为iOS相关
-
- iOS私有API是Apple没有公开的API, 可以通过class-dump获取header。
- 使用私有API会导致App store审核失败。
- 使用InHouse发布的App可以不用审核。
- iOS逆向工程相关:http://www.zhihu.com/question/20317296
- cocoapods 安装:https://segmentfault.com/a/1190000003742397
- @weakify 与 @strongify http://devshen.github.io/2015/06/04/Why_you_should_start_using@weakify_and%20@strongify_macros/
- prefix.pch 的作用
2016-03-22 22:22:46
- CocoaPods Podfile 语法:https://guides.cocoapods.org/using/the-podfile.html
2016-03-23 23:10:32
- UIView的Spring动画 ,让动画出现反复的效果:http://www.csdn.net/article/2015-07-03/2825122-ios-uiview-animation-2
- 使用PDF格式的图片,不再需要区分x1,x2,x3 http://blog.csdn.net/cuibo1123/article/details/39486197/
- 正确移除addObserverForName 的方法 :http://www.jianshu.com/p/1788d15c570b
- 了解RAC :http://www.jianshu.com/p/87ef6720a096
2016-03-24 20:09:16
- TabViewCell的重用机制 :
initWithStyle:reuseIdentifier:
创建一个Cell时,框架会将具有相同reuseIdentifier的放入一个队列。dequeueReusableCellWithIdentifier
会返回一个已经移出屏幕的Cell实例(如果存在的话,不存时返回nil),然后对返回的Cell赋予新的属性。
2016-03-26 15:20:19
- 通过 Associated Objects 给OC 实例 添加变量:http://blog.leichunfeng.com/blog/2015/06/26/objective-c-associated-objects-implementation-principle/
2016-03-27 08:55:49
- xib 会被编译后生成nib,xib 的 x代表xml, 它的引入可以更好的适用于版本控制工具。
- ViewController的生命周期:http://blog.csdn.net/busyluo/article/details/50993477
2016-03-28 20:24:10
- UIKit Dynamics 将2D物理引擎引入了人UIKit,实现逼真的物理效果。
- CoreAnimation或者UIView animations的区别。
- 用ModalViewController时,最好在调用present的VC里设置代理,用于dismiss ModalVC,同时方便数据交互。
- 发送代理消息,作以下检查:
if (self.delegate && [self.delegate respondsToSelector:@selector(delegateMethod)]) {
[self.delegate delegateMethod];
}
2016-03-29 13:24:59
- ionic、phonegap、react native的区别。http://www.oschina.net/question/576444_2152963?fromerr=i9wlm3y9 https://www.zhihu.com/question/30394458/answer/48267458
- 各种present的区别:http://blog.csdn.net/sunshinexyj/article/details/8476248
- 转场动画详解:http://www.cocoachina.com/ios/20160308/15605.html
2016-03-31 19:21:11
- 误用UIViewController,https://onevcat.com/2012/02/uiviewcontroller/
避免如下代码:
viewController.view.bounds = CGRectMake(50, 50, 100, 200);
[viewController.view addSubview:someOtherViewController.view];
2016-04-05 16:51:28 更新:这个结论适用于非Controller容器,对于自定义的Controller容器来说,向当前view上添加其他VC的view是正确的做法(当然不能忘了也将VC本身通过addChildViewController:方法添加到容器中)。
- 打造一个的框架: https://onevcat.com/2016/01/create-framework/
- Library v.s. Framework
- API 设计
- 持续集成,使用工具fastlane
- Xcode 7的单元测试与UI测试使用:http://www.jianshu.com/p/f4ba532caed0
2016-04-02 10:06:32
2016-04-05 21:39:02
- CALayer 和 UIView的区别和联系 :http://www.jianshu.com/p/079e5cf0f014
2016-04-06 11:33:26
- 关于旋转:http://the.ichibod.com/kiji/how-to-handle-device-rotation-for-uiviews-in-ios/
plist设定程序支持的方向,VC里通过supportedInterfaceOrientations设定自己支持的方向(只有支持的方向能会收到UIDeviceOrientationDidChangeNotification),shouldAutorotate返回是否自动旋转。
2016-04-09 09:10:56
- EventKit 做日历和提醒相关的工作:http://www.cnblogs.com/cokecoffe/p/3511530.html
2016-04-14 09:10:08
- 关于旋转:http://www.molotang.com/articles/1530.html
http://www.jianshu.com/p/d8018006f0b5 - 仿射变换:http://www.cnblogs.com/haore147/p/3618758.html
- Documents:应用中用户数据可以放在这里,iTunes备份和恢复的时候会包括此目录
tmp:存放临时文件,iTunes不会备份和恢复此目录,此目录下文件可能会在应用退出后删除
Library/Caches:存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出删除
2016-04-29 17:32:13 以下linux编程相关
- RESTful : http://www.ruanyifeng.com/blog/2011/09/restful
- URI 和 URL的区别 :http://www.zhihu.com/question/21950864
- 理解HTTP幂等性 :http://www.cnblogs.com/weidagang2046/archive/2011/06/04/2063696.html
2016-05-01 19:55:35
- autoconf 和 automake http://www.ibm.com/developerworks/cn/linux/l-makefile/
2016-05-03 11:04:25
- x86_64与amd64 :x86 CPU开始迈向64位的时候,intel做的是IA_64,不兼容32位,而AMD则是AMD64,兼容32位。IA_64没有得到认同,于是intel 也开始支持AMD64,但换名为x86_64。i686是i386的子集,属于32位。
2016-05-03 11:04:25
2016-05-17 16:08:35
- 位操作包括三种:<<(左移), >>(算术右移)和>>>(逻辑右移)由于 算数左移和逻辑左移在处理上没有任何区别,所以只有一种表式。当进行右移操作时,最高位是0,则算术右移与逻辑右移结果相同,即高位加0,比如0x10右移一位即为0x08。但最高位若是1,则>>结果是高位填1,>>>结果是高位填0。java包括了这三种位移位操作,但是C/C++只提供<<和>>操作,通常当运算对象是signed时当成算数右移处理,但不同的编译器其行为有可能不同,所以要测试的。
至于char类型,与int型不同,C规定char跟signed char不是同一种类型,它规定char, signed char和unsigned char是三种
不同类型。char用于表示字符a-z, ‘0’,….,如果把它当number用(因为C没有byte类型),它不指定是signed还是unsigned,所以不安全(除非表示的是0-7f之间的数字)。signed char和unsigned char用于表示number,signed char表示-128~127,unsigned char表示0~255。
2016-05-29 23:51:22
- unix编程中,read write 是非缓冲IO, printf是缓冲IO, 遇到\n或缓冲取满时,或时调用fflush时,才会输出。