- 博客(34)
- 资源 (42)
- 收藏
- 关注
转载 UITableView优化技巧
本文转自:http://www.cocoachina.com/ios/20150602/11968.html最近在微博上看到一个很好的开源项目VVeboTableViewDemo,是关于如何优化UITableView的。加上正好最近也在优化项目中的类似朋友圈功能这块,思考了很多关于UITableView的优化技巧,相信这块是难点也是痛点,所以决定详细的整理下我对优化UITabl
2016-05-31 18:27:49 335
转载 IPv4和IPv6
转 :http://blog.csdn.net/zhengzhoudaxue2/article/details/6371555对于IPv4和IPv6,我们可以分为IPv4和IPv6的客户端和服务器,下面我们来分别讨论一下对于不同的服务器我们怎么建立这个连接, 第一:IPv4/IPv6客户和IPv4/IPv6服务器这个情况很明了,也是现在大部分服务器和
2016-05-30 19:05:38 1496
原创 C++ IPv4与IPv6的兼容编码
struct addrinfo hints, *res, *ressave; bzero(&hints, sizeof(hints)); hints.ai_family = AF_UNSPEC; hints.ai_socktype = SOCK_STREAM; hints.ai_protocol = IPPROTO_IP;
2016-05-30 18:47:24 3284
原创 nsimage 转 png ,jpg的nsdata 类型
NSImage * image = ..........;NSData *imageData = [image TIFFRepresentation];NSBitmapImageRep *imageRep = [NSBitmapImageRep imageRepWithData:imageData];[imageRep setSize:[[_imageView image] size
2016-05-30 13:10:59 5450
原创 mac 隐藏Dock
Motivated from here, you can do:[NSApp setActivationPolicy: NSApplicationActivationPolicyAccessory];or[NSApp setActivationPolicy: NSApplicationActivationPolicyProhibited];This should hide
2016-05-27 16:02:33 631
转载 C语言C++语言中静态变量和静态函数
c语言中需要内存来存放数据。而内存主要分为两类:静态存储区和动态存储区; 1.静态存储区分为:只读数据(READONLY DATA)区、以读写数据(RW DATA)区、未初始化区(BSS)。它们都是在程序编译连接阶段确定的,在程序执行的阶段不会改变。 2.动态存储区分为堆和栈。都是程序执行的过程中动态分配的,大小也随之动态变化。从内存管理的实现的角度看来,堆使用的链表实现的,而栈
2016-05-25 21:35:29 375
转载 Ios 性能分析工具 及其使用侧重点
测试我们的程序性能在开发iphone程序的时候,如果程序会有较大的开销并且希望运行在配置较低的早期设备上,我们就需要解决一些在设备环境窘迫的时候出现的性能问题,程序性能优化调整上升为一个不可忽视的问题。接下来介绍一些现有的一些测试工具,来帮助程序员发现热点,优化性能,解决程序bug。并希望以后可以出现的一些测试工具或方案。一、 现有工具Shark代码
2016-05-25 15:10:02 402
转载 iOS开发-KVO的奥秘
序言在iOS开发中,苹果提供了许多机制给我们进行回调。KVO(key-value-observing)是一种十分有趣的回调机制,在某个对象注册监听者后,在被监听的对象发生改变时,对象会发送一个通知给监听者,以便监听者执行回调操作。最常见的KVO运用是监听scrollView的contentOffset属性,来完成用户滚动时动态改变某些控件的属性实现效果,包括渐变导航栏、下拉刷新控件等效
2016-05-24 11:09:49 626
原创 值得关注的博客
1 https://github.com/Draveness/iOS-Source-Code-Analyze 讲了一些开源框架 2 老谭笔记
2016-05-23 17:20:33 337
转载 转转 iOS多线程的初步研究
iOS多线程的初步研究(十)-- dispatch同步 技术内幕 2013-09-11 13:33 阅读:4737 评论:0 iOS多线程的初步研究(九)-- dispatch源 技术内幕 2013-09-10 21:11 阅读:3818 评论:2 iOS多线程的初步研究(八)-- dispatch队列 技术内幕 2013-09-08 20:26 阅
2016-05-22 21:41:18 219
转载 iOS多线程的初步研究(九)-- dispatch源
dispatch源(dispatch source)和RunLoop源概念上有些类似的地方,而且使用起来更简单。要很好地理解dispatch源,其实把它看成一种特别的生产消费模式。dispatch源好比生产的数据,当有新数据时,会自动在dispatch指定的队列(即消费队列)上运行相应地block,生产和消费同步是dispatch源会自动管理的。dispatch源的使用基本为以下步
2016-05-22 21:09:11 328
转载 iOS多线程的初步研究(一)-- NSThread
对于多线程的开发,iOS系统提供了多种不同的接口,先谈谈iOS多线程最基础方面的使用。产生线程的方式姑且分两类,一类是显式调用,另一类是隐式调用。一、显示调用的类为NSThread。一般构造NSThread的线程对象可通过两种方式:1. 初始化线程主方法:[NSThread detachNewThreadSelector:@selector(run:) toTarget:tar
2016-05-22 21:07:15 305
转载 iOS实时卡顿监控
iOS实时卡顿监控http://www.tanhao.me/code/151113.html/信iOS卡顿监控系统http://mp.weixin.qq.com/s?__biz=MzAwNDY1ODY2OQ%3D%3D&idx=1&mid=207890859&scene=23&sn=e98dd604cdb854e7a5808d20
2016-05-22 20:51:34 559
转载 iOS多线程的初步研究(七)-- dispatch对象
谈起iOS的dispatch(正式称谓是Grand Central Dispatch或GCD),不得不说这又是iOS(包括MacOSX)平台的创新,优缺点这里不讨论,只有当你使用时才能真正体会到。我们说dispatch函数的主要目的是实现多任务并发代码,那么要理解dispatch函数,先来了解dispatch对象的定义。 dispatch对象类型的部分定义,主要使用C语言的宏定义:文件
2016-05-22 19:50:49 269
转载 Block如何避免self retain
http://stackoverflow.com/questions/3975675/objective-c-blocks-is-there-a-way-to-avoid-self-being-retained从以上的讨论中,我没没有办法让block引用参数而不导致selfretain的方法,但是提到了三种方式来实现在block中引用参数而不导致self retain的解决
2016-05-22 00:06:43 300
转载 判断webview是否彻底加载完成
两种解决方案:1.http://stackoverflow.com/questions/908367/uiwebview-how-to-identify-the-last-webviewdidfinishload-messageestimatedProgress:可以根据该参数获得当前网页的加载进度要注意的是我们用的webview 是UIKit的 UIWebView,但 e
2016-05-21 23:57:34 5224
转载 进程间通信 (OSX/iOS)
原文链接:http://nshipster.com/inter-process-communication/总起OS X是MacOS与NeXTSTEP的结合。OC是Smalltalk类面向对象编程与C的结合。iCloud则是苹果移动服务与云平台的结合。上述都是一些亮点,但是不得不说苹果技术中的进程通讯走的是“反人类”的道路。由于不是根据每个节
2016-05-20 11:30:34 1529
转载 dispatch_semaphore
转载请注明出处http://www.cnblogs.com/snailHL/p/3906112.htmldispatch_semaphore是GCD用来同步的一种方式,与他相关的共有三个函数,分别是dispatch_semaphore_create,dispatch_semaphore_signal,dispatch_semaphore_wait。下面我们逐一介绍三个函数:
2016-05-19 22:36:59 359
转载 【iOS程序启动与运转】- RunLoop个人小结
学习iOS开发一般都是从UI开始的,从只知道从IB拖控件,到知道怎么在方法里写代码,然后会显示什么样的视图,产生什么样的事件,等等。其实程序从启动开始,一直都是按照苹果封装好的代码运行着,暴露的一些属性和方法作为接口,是让我们在给定的方法里写代码实现自定义功能,做出各种各样的应用。这些方法的调用顺序最为关键,熟悉了程序运转和方法调用的顺序,才可以更好地操控程序和代码,尽量避免Xcode不报错又实现
2016-05-19 11:18:52 751
转载 递归锁
递归锁在同一线程 内起作用。[cpp] view plain copy//线程属性 #include #include #include pthread_mutex_t g_mutex; void test_fun(void); static void thread_init(voi
2016-05-18 19:12:10 785
转载 递归锁
在C/C++中(linux下)就需要使用pthread库中提供的互斥锁,并且设置锁的属性为递归锁: pthread_mutex_t Mutex; pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE)
2016-05-18 19:06:11 907
转载 高效编程之互斥锁和自旋锁
两种锁的加锁原理互斥锁:线程会从sleep(加锁)——>running(解锁),过程中有上下文的切换,cpu的抢占,信号的发送等开销。自旋锁:线程一直是running(加锁——>解锁),死循环检测锁的标志位,机制不复杂。两种锁的区别互斥锁的起始原始开销要高于自旋锁,但是基本是一劳永逸,临界区持锁时间的大小并不会对互斥锁的开销造成影响,而自旋锁是死循环检测,加锁全
2016-05-18 19:04:25 285
转载 自旋锁和互斥锁区别
http://blog.csdn.net/kyokowl/article/details/6294341POSIX threads(简称Pthreads)是在多核平台上进行并行编程的一套常用的API。线程同步(Thread Synchronization)是并行编程中非常重要的通讯手段,其中最典型的应用就是用Pthreads提供的锁机制(lock)来对多个线程之间共 享的临界区(C
2016-05-18 18:55:20 267
转载 文件锁
http://www.2cto.com/os/201109/103758.html 多用户多任务操作系统中非常重要的一个内容就是文件锁。用户在更新文件时,期望可以使用某种机制,防止两种进程同时更新文件同一区域而造成丢失,或者防止文件内容在未更新完毕时被读取等并发引起的问题,这种机制就是文件锁。 进程在操作文件期间,可以使用文件锁,锁定文件中的敏感部分,防止其他进程越权操作该部分
2016-05-18 18:53:00 516
转载 起底多线程同步锁(iOS)
本文为投稿文章,作者:SpringOx(博客)iOS/MacOS为多线程、共享内存(变量)提供了多种的同步解决方案(即同步锁),对于这些方案的比较,大都讨论了锁的用法以及锁操作的开销,然后就开销表现排个序。春哥以为,最优方案的选用还是看应用场景,高频接口PK低频接口、有限冲突PK激烈竞争、代码片段耗时的长短,以上都是正确选用的重要依据,不同方案在其适用范围表现各有不同。这些方案当中,除了熟
2016-05-18 17:41:55 290
转载 objc category的秘密
category的真面目objc所有类和对象都是c结构体,category当然也一样,下面是runtime中category的结构:struct _category_t { const char *name; // 1 struct _class_t *cls; // 2 const struct _method_list_t *instance_methods; /
2016-05-14 21:49:21 401
原创 iOS面试题 汇总
那些著名或非著名的iOS面试题(上)http://www.cocoachina.com/ios/20160414/15918.html 那些著名或非著名的iOS面试题(中)http://www.cocoachina.com/ios/20160415/15930.html2017年iOS面试题总结https://www.jianshu.com/p/f9eb6b315c08...
2016-05-14 21:45:30 317
转载 weak的生命周期:具体实现方法
我们都知道weak表示的是一个弱引用,这个引用不会增加对象的引用计数,并且在所指向的对象被释放之后,weak指针会被设置的为nil。weak引用通常是用于处理循环引用的问题,如代理及block的使用中,相对会较多的使用到weak。之前对weak的实现略有了解,知道它的一个基本的生命周期,但具体是怎么实现的,了解得不是太清晰。今天又翻了翻《Objective-C高级编程》关于__weak
2016-05-07 15:49:27 494
转载 ARC 的实现
怎样监控 oc 对象被release1 __weak weakObj = Obj2 重载 delloc--------------------------------------------------- ARC 的实现苹果的官方说明中称,ARC是“由编译器进行内存管理”的,但实际上只有编译器是无法完全胜任的,ARC还依赖OC运行时库,也就是说ARC是通过以下工具、库来实现
2016-05-05 23:36:10 516
转载 oc 类别 与 类扩展
Category在iOS开发中使用非常频繁。尤其是在为系统类进行拓展的时候,我们可以不用继承系统类,直接给系统类添加方法,最大程度的体现了Objective-C的动态语言特性。#import@interface NSObject (Category)- (void)myMethod;@end这是一个最简单的Category,作用于NSObject
2016-05-05 17:04:07 2543
转载 id和instancetype区别
id、instancetypeidinstancetype总结id一个类的实例的指针,万能指针申明typedef struct objc_object *id;instancetype使用instancetype关键字作为方法的返回值代表返回当前类或者当前类的子类的实例.相应的方法有alloc,init以及便利构造方法在
2016-05-05 15:35:54 297
转载 iOS category内部实现原理
转载自:http://tech.meituan.com/DiveIntoCategory.html摘要无论一个类设计的多么完美,在未来的需求演进中,都有可能会碰到一些无法预测的情况。那怎么扩展已有的类呢?一般而言,继承和组合是不错的选择。但是在Objective-C 2.0中,又提供了category这个语言特性,可以动态地为已有类添加新行为。如今category已经遍布于Obje
2016-05-03 22:03:28 611
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人