iOS
TungKamLau
走代码的路,让代码无路可走
展开
-
iOS获取NTP时间
/** 获取网络时间 @return 返回网络时间 */- (NSDate *)getInternetDate{ NSString *urlString = @"http://www.baidu.com/"; urlString = [urlString stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEnc...原创 2019-12-31 18:48:44 · 785 阅读 · 4 评论 -
iOS信号量-dispatch_semaphore
__block NSString *strD ; dispatch_async(dispatch_get_global_queue(0, 0), ^{ NSLog(@"循环/取值-1---%@",[NSThread currentThread]); for (int i = 0; i<10; i++) { strD = [NSStrin原创 2016-05-19 17:59:12 · 516 阅读 · 0 评论 -
dispatch_queue_create---创建队列
dispatch_queue_create(const char *label, dispatch_queue_attr_t attr);可以看到创建队列的方法有两个参数可以传,默认的创建方式是这样的 dispatch_queue_t queue = dispatch_queue_create("TreeNewBee_queue", NULL);后面的参数传入”NULL”就可以了。或许大家原创 2016-05-20 17:41:47 · 9385 阅读 · 0 评论 -
git ssh key
首先需要检查本机是否已经有ssh key的存在,输入以下命令:cat ~/.ssh/id_rsa.pub如果显示 ssh-rsa …….证明已经存在,直接copy使用就OK了。如果没有显示证明你还没生成,直接输入以下命令:ssh-keygen -t rsa -C "xxx@XXX.com"一路enter,然后再输入以下命令查看:cat ~/.ssh/id_rsa.pubcopy 使用即可原创 2016-06-14 09:45:05 · 307 阅读 · 0 评论 -
iOS通过http post 文件流上传文件(头像)代码实现
由于服务器要求以文件流上传头像至服务器,之前使用的是ASIFormDataRequest,只需简单设置,就可以实现上传[request setFile:imageDirectory forKey:@"xxxx"];但是由于公司要求不得使用第三方库。所以只能自己写,找了好多地方终于找到一篇文章 http://thierry-xing.iteye.com/blog/2069032通过简单的更改就可原创 2016-07-26 10:29:02 · 5030 阅读 · 3 评论 -
转载-git branch用法
转自gitbranch用法总结-浮于表面,而不得其精髓!由于之前branch命名不合规,需要重新push和新建branch,手动很麻烦,最终找到了此篇文章,用于记录。总体来说,用Mac终端进入git本体工程所在目录,然后 git branch 查看本地工程中包含的分支,当前分支会以“*”号做标识,删除的命令为 git branch -d/-D branchname 就可以删除了。 以转载 2016-08-04 15:38:46 · 445 阅读 · 0 评论 -
iOS-隐藏系统状态栏-statusbar
最近正在忙于做项目,很长时间没更新blog了,其实主要还是自己做记录吧。好了,废话不多说,开始说正题。由于项目中的需求是竖屏状态下,要求显示状态栏,横屏状态下为了整体UI与没关要求隐藏状态栏。代码如下:-(BOOL)prefersStatusBarHidden{ UIApplication* application = [UIApplication sharedApplication]原创 2016-10-20 15:04:41 · 1078 阅读 · 0 评论 -
iOS开发最简单的符号化.crash
这种方法可能是最容易的方法了。 要使用Xcode符号化 crash log,你需要下面所列的3个文件: 1. crash报告(.crash文件) 2. 符号文件 (.dsymb文件) 3. 应用程序文件 (appName.app文件,把IPA文件后缀改为zip,然后解压,Payload目录下的appName.app文件), 这里的appName是你的应用程序的名称。 把这3个文件放到同一转载 2017-04-24 15:15:17 · 644 阅读 · 0 评论 -
iOS持续集成-使用Xcode搭建自动打包平台初步尝试
起因:有一天下午PM突然找我说,之前公司有一个自动打包平台现在怎么不好使了?然后我一回想,原来是那台电脑被收回去了。好吧,产品现在需要打包平台,那我只能搭建一个了。。。————————华而不实的分割线————————由于之前没搭建过,所以在网上搜了半天,找到的大多都是OS X server或者是macos server之类的文章,显然最新的macos server已经没有了相关的功能(具体原创 2018-01-05 15:21:18 · 1179 阅读 · 1 评论 -
利用KVC修改UITextField的clearButton背景色
起因是公司的app有横屏和竖屏之分,clearbutton默认的背景色有可能是clearcolor(具体情况没做调研),这样就导致在竖屏的时候颜色没问题,可以显示出来,在横屏的时候就看不到了。所以需要对横竖屏做不同的颜色处理。就需要修改clearButton的背景色。不多说,直接上代码 UIButton *ClearButton = [UITextField valueForKey:@原创 2018-01-23 09:31:04 · 3062 阅读 · 0 评论 -
关于MachOView闪退的解决方法
点击进入简书阅读由于针对framework瘦身一直在日程中,但由于其他需求插入进来优先级P0-0,所以一直没做瘦身,最近闲暇有时间做瘦身,所以通过网站搜索到关于mac-O文件的分析,查看,会使用到MachOView,通过githubhttps://github.com/gdbinit/MachOView或官网https://sourceforge.net/projects/machoview/下...原创 2019-08-09 11:39:00 · 1305 阅读 · 10 评论 -
GCD各种队列的执行效果
留图,备用!原创 2016-05-18 11:19:54 · 486 阅读 · 0 评论 -
JSON-OC 转换对照表
今天在做JSON解析的时候遇到了问题,写下来! JSON – OC 转换对照表 JSON OC 大括号 { } NSDictionary 中括号 [ ] NSArray 双引号 ” “ NSString 数字 10、10.8 NSNumber原创 2016-05-17 17:55:25 · 600 阅读 · 0 评论 -
Darwin 核心架构
其中,在硬件层上面的三个组成部分:Mach、BSD、IOKit (还包括一些上面没标注的内容),共同组成了 XNU 内核。XNU 内核的内环被称作 Mach,其作为一个微内核,仅提供了诸如处理器调度、IPC (进程间通信)等非常少量的基础服务。BSD 层可以看作围绕 Mach 层的一个外环,其提供了诸如进程管理、文件系统和网络等功能。IOKit 层是为设备驱动提供了一个面向对象(C++)的一个框架。原创 2016-05-25 17:14:19 · 2761 阅读 · 0 评论 -
RunLoop
RunLoop从字面上看是运行循环的意思,这一点也不错,它确实就是一个循环的概念,或者准确的说是线程中的循环。 本文一开始就提到有些程序是一个圈,这个圈本质上就是这里的所谓的RunLoop,就是一个循环,只是这个循环里加入很多特性。原创 2016-05-23 17:14:40 · 365 阅读 · 0 评论 -
RunLoop-AutoreleasePool
AutoreleasePoolApp启动后,苹果在主线程 RunLoop 里注册了两个 Observer,其回调都是 _wrapRunLoopWithAutoreleasePoolHandler()。第一个 Observer 监视的事件是 Entry(即将进入Loop),其回调内会调用 _objc_autoreleasePoolPush() 创建自动释放池。其 order 是-2147483647,原创 2016-05-26 10:42:15 · 396 阅读 · 0 评论 -
RunLoop-界面更新
当在操作 UI 时,比如改变了 Frame、更新了 UIView/CALayer 的层次时,或者手动调用了 UIView/CALayer 的 setNeedsLayout/setNeedsDisplay方法后,这个 UIView/CALayer 就被标记为待处理,并被提交到一个全局的容器去。苹果注册了一个 Observer 监听 BeforeWaiting(即将进入休眠) 和 Exit (即将退出L原创 2016-05-26 11:30:05 · 1006 阅读 · 0 评论 -
关于网络请求
iOS 中,关于网络请求的接口自下至上有如下几层:CFSocketCFNetwork ->ASIHttpRequestNSURLConnection ->AFNetworkingNSURLSession ->AFNetworking2, AlamofireCFSocket 是最底层的接口,只负责 socket 通信。 CFNetwork 是基于 CFSocket 等接口的上原创 2016-05-26 14:57:37 · 649 阅读 · 0 评论 -
RunLoop 的实际应用举例-AFNetworking
AFURLConnectionOperation 这个类是基于 NSURLConnection 构建的,其希望能在后台线程接收 Delegate 回调。为此 AFNetworking 单独创建了一个线程,并在这个线程中启动了一个 RunLoop:+ (void)networkRequestThreadEntryPoint:(id)__unused object { @autoreleasep原创 2016-05-26 15:02:16 · 2700 阅读 · 1 评论 -
Objective-C Runtime
Objective-C Runtime 是什么?Objective-C 的 Runtime 是一个运行时库(Runtime Library),它是一个主要使用 C 和汇编写的库,为 C 添加了面相对象的能力并创造了 Objective-C。这就是说它在类信息(Class information) 中被加载,完成所有的方法分发,方法转发,等等。Objective-C runtime 创建了所有需要的结原创 2016-05-26 17:03:55 · 382 阅读 · 0 评论 -
Class Cache 是什么?
当 Objective-C runtime 沿着一个对象的 isa 指针检查时,它会发现一个对象实现了许多的方法。然而你可能只调用其中一小部分的方法,也没有意义每次检查时搜索这个类的分发表(dispatch table)中的所有 selector。所以这个类实现了一个缓存,当你搜索一个类的分发表,并找到合适的 selector 后,就会把它放进缓存中。所以当 objc_msgSend() 在一个类中原创 2016-05-27 10:31:38 · 914 阅读 · 0 评论 -
Masonry-Unable to simultaneously satisfy constraints
在使用Masonry做对自定义TableviewCell自动布局的时候会出现Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each原创 2016-05-16 15:20:49 · 889 阅读 · 0 评论 -
RunLoop的事件队列
RunLoop的事件队列每次运行run loop,你线程的run loop对会自动处理之前未处理的消息,并通知相关的观察者。具体的顺序如下:通知观察者run loop已经启动通知观察者任何即将要开始的定时器通知观察者任何即将启动的非基于端口的源启动任何准备好的非基于端口的源如果基于端口的源准备好并处于等待状态,立即启动;并进入步骤9。通知观察者线程进入休眠将线程置于休眠直到任一下面的事原创 2016-05-25 10:33:24 · 595 阅读 · 0 评论