
ios
lidechen2014
这个作者很懒,什么都没留下…
展开
-
iOS关于在UITableView中,实现多个cell中不同的倒计时实现
在一个UITableView中,有多条数据,可能每一个cell对应的剩余时间不一样,所以,如何实现不同的cell中倒计时的实现?之前,考虑到需要单独为每一个cell中开启一个定时器,来监控对应cell的数据更新,但是很快发现这种方法行不通,因为不知道具体有多少条数据,这些数据都是动态从服务器获取的。所以,想到在请求最新的数据时,开启一个定时器,根据该定时器,分别对所有的需要进行倒计时显示的cell转载 2015-01-27 10:38:34 · 1340 阅读 · 0 评论 -
GCD学习 Main Dispatch Queue/Global Dispatch Queue
上节笔记中介绍了如何创建queue,通过dispatch_queue_create() 函数得到我们想要的queue,其实不用特意去创建Dispatch Queue,系统为我们实现了几个,一个是Main Dispatch Queue 一个是Global Dispatch Queue。 Main Dispatch Queue 将任务放在主线程中去执行,可以将一些更新UI转载 2014-11-20 20:21:15 · 765 阅读 · 0 评论 -
swift 注意点
1.非可选类型不能置为nil,nil 表示不存在2.原创 2014-10-01 07:12:12 · 624 阅读 · 0 评论 -
UIGestureRecognizer的混合使用
最近在处理一些iOS相关的手势,早期的用法是使用UIView自带的一些touch事件: - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;- (void)to转载 2014-11-07 16:29:58 · 920 阅读 · 0 评论 -
swift
转载 2014-09-02 06:48:44 · 619 阅读 · 0 评论 -
树
计算机科学中的树二叉树▪ 二叉树▪ 二叉查找树▪ 笛卡尔树▪ Top tree▪ T树 自平衡二叉查找树▪ AA树▪ AVL树▪ 红黑树▪ 伸展树▪ 树堆原创 2014-08-08 20:24:10 · 664 阅读 · 0 评论 -
Objective-C 基本语法:实例变量与成员变量的区别
摘要: Objective-C 引入了“实例变量"的概念,但同时, 也经常出现 “成员变量”的声音。 到底什么是实例变量,什么是成员变量,二者的区别是什么呢?在Objective-C中,定义一个类,需要有两部分: 第一是接口(interface),第二是实现(implementation)。 接口对应接口文件,而实现对应了实现文件。 接口文件包含了类的声明,成员变量(member vari转载 2014-08-19 16:30:33 · 852 阅读 · 0 评论 -
NSProcessInfo类方法
+(NSProcessInfo*)processInfo //返回当前进程的信息-(NSArray*)arguments //以NSString对象数组的形式返回当前进程的参数-(NSDictionary *)environment //返回变量/值对词典,以描述当前的环境变量(比如PATH和HOME)及其值-(int)processIdentifier //返回进转载 2014-07-25 11:03:16 · 681 阅读 · 0 评论 -
ios应用在不同语言及区域的日期显示
在不同的语言环境下,应用展现出来的日期格式都是不一样的。例如英文的语言环境下,展现的日期January 27, 2014。而中文的语言环境下,展现的日期2014年1月27日。这是多语言环境下,任何应用必须面对的问题。使用NSDateFormatter 可以处理好这个问题。这是apple人员在多种语言环境下打造出来的api,放心用。不必再去发明一个轮子。对于数字的显示,NSN转载 2014-03-14 16:58:52 · 900 阅读 · 0 评论 -
view to image
-(UIImage*)imageByCropping:(UIScrollView*)imageToCrop toRect:(CGRect)rect{ CGSize pageSize = rect.size; UIGraphicsBeginImageContext(pageSize); CGContextRef resizedContext原创 2014-01-20 18:23:18 · 661 阅读 · 0 评论 -
几个库
https://github.com/robotmedia/RMStorehttps://github.com/mutualmobile/MMDrawerController原创 2014-01-20 13:13:55 · 618 阅读 · 0 评论 -
codility3
Write a function:int solution(int A, int B, int K);that, given three integers A, B and K, returns the number of integers within the range [A..B] that are divisibl原创 2014-01-17 11:03:49 · 983 阅读 · 0 评论 -
Objective-C中的锁
锁是线程编程同步工具的基础。锁可以让你很容易保护代码中一大块区域以便你可以确保代码的正确性。1 使用POSIX互斥锁 POSIX互斥锁在很多程序里面很容易使用。为了新建一个互斥锁,你声明并初始化一个pthread_mutex_t的结构。为了锁住和解锁一个互斥锁,你可以使用pthread_mutex_lock和pthread_mutex_unlock函数。列表4-2显式了要初始化并转载 2015-01-27 10:30:25 · 483 阅读 · 0 评论 -
Autorelease
我是前言Autorelease机制是iOS开发者管理对象内存的好伙伴,MRC中,调用[obj autorelease]来延迟内存的释放是一件简单自然的事,ARC下,我们甚至可以完全不知道Autorelease就能管理好内存。而在这背后,objc和编译器都帮我们做了哪些事呢,它们是如何协作来正确管理内存的呢?刨根问底,一起来探究下黑幕背后的Autorelease机制。Autorele转载 2015-05-07 21:36:12 · 599 阅读 · 0 评论 -
TYPagerController 简单,强大,高度定制,页面控制器,水平滚动内容和标题栏,包含多种barStyle。 TYPagerController v2.0 重构优化代码,分离出TYPager
TYPagerController 简单,强大,高度定制,页面控制器,水平滚动内容和标题栏,包含多种barStyle。TYPagerController v2.0 重构优化代码,分离出TYPagerViewLayout布局类,添加更多功能,更加强大。如果还想使用以前的版本可以查看分支v1.0.6 和 pod 'TYPagerController', '~> 1.0.6' TYP转载 2017-09-13 15:29:22 · 3253 阅读 · 0 评论 -
[iOS] 显示 FPS 值在 iOS 状态栏的小东西
JPFPSStatusREADME 中文Show FPS Status on StatusBarPodfileplatform :ios, '7.0'pod 'JPFPSStatus', '~> 0.0.2'InstructionNote:Use JPFPSStatus in DEBUG modeadd the code in AppDel转载 2016-08-10 16:08:59 · 7163 阅读 · 0 评论 -
ios 基本技术点
http://www.cnblogs.com/PSSSCode/p/5507824.html转载 2016-06-24 14:58:51 · 493 阅读 · 0 评论 -
ios arc注意
CoreFoundation对象与NSObject对象的转换,需要添加bridge, _bridgeretained或者bridge_trasfer。CoreFoundation的对象例如CFStringRef有自己的引用计数,和Cocoa框架中的NSObject是不同的方法,ARC只对NSObject对象的引用计数有效。只要是生成CF对象的函数名中有含有Create, Copy, 或者R转载 2016-08-05 11:41:53 · 556 阅读 · 0 评论 -
MPRemoteCommandCenter
MPRemoteCommandCenter 类,锁屏音乐菜单按钮原创 2016-07-22 14:14:53 · 1666 阅读 · 0 评论 -
做一款仿映客的直播App?看这篇就够了
一、直播现状简介1.技术实现层面技术相对都比较成熟,设备也都支持硬编码。iOS还提供现成的Video ToolBox框架,可以对摄像头和流媒体数据结构进行处理,但Video ToolBox框架只兼容8.0以上版本,8.0以下就需要用x264的库软编了。github上有现成的开源实现,推流、美颜、水印、弹幕、点赞动画、滤镜、播放都有。技术其实不是很难,而且现在很多云厂商都提供转载 2016-07-22 14:13:26 · 2321 阅读 · 0 评论 -
Iphone如何判断当前网络的运营商
在IOS上存在retain屏,经常需要在一些时刻用到高清图,有些时候也要到普通图。在网络条件很好的情况下,这当然不在话下。如果我们是iphone用户,又正好用的是移动卡。如果还用的高清图的话是不是灰常的杯具,显然是一定的。从目前的情况来看,只有移动的GPRS的卡速度慢的像牛一样,这样我们就需要权衡在一些场合牺牲点质量换取速度。那么我们就得必须知道当前网络是神转载 2016-05-09 16:09:25 · 1583 阅读 · 0 评论 -
【iOS程序启动与运转】- RunLoop个人小结
学习iOS开发一般都是从UI开始的,从只知道从IB拖控件,到知道怎么在方法里写代码,然后会显示什么样的视图,产生什么样的事件,等等。其实程序从启动开始,一直都是按照苹果封装好的代码运行着,暴露的一些属性和方法作为接口,是让我们在给定的方法里写代码实现自定义功能,做出各种各样的应用。这些方法的调用顺序最为关键,熟悉了程序运转和方法调用的顺序,才可以更好地操控程序和代码,尽量避免Xcode不报错又实现转载 2016-04-18 18:23:54 · 349 阅读 · 0 评论 -
GCD 串行队列和并行队列以及dispatch_group
并行队列同时会开很多线程,(测试用了11个任务,结果显示11个任务同时执行了),可以使用信号量来控制线程数量,函数concurrentQueueTest中,最多同时运行三个任务;串行队列,执行完一个任务才会执行下一个任务,如果有两个串行队列,则两个串行队列可以并发执行, 见serialQueueTest函数以及其输出;如果某些任务需要更另一些任务完成后才执行,可以使用dispatc转载 2016-02-03 14:29:55 · 1331 阅读 · 0 评论 -
让XCode的 Stack Trace信息可读
昨天在写iOS代码的时候,调试的时候模拟器崩溃了。异常停在了如下整个main函数的入口处:1234567int main(int argc, char *argv[]){ @autoreleasepool { // 异常停在了下面这行,毫无提示作用 return UIApplicationMain(ar转载 2015-08-01 17:44:49 · 455 阅读 · 0 评论 -
25条提高iOS App性能的建议和技巧
当我们开发iOS应用时,好的性能对我们的App来说是很重要的。你的用户也希望如此,但是如果你的app表现的反应迟钝或者很慢就会让你得到不好的评论。 然而,由于IOS设备的限制有时很难工作得很正确。我们开发时有很多需要我们记住这些容易忘记的决定对性能的影响。 这是为什么我写这篇文章的原因。这篇文章用备忘录的形式集合了25个技巧和诀窍可以用来提高你的app性能。所以耐心转载 2015-07-02 14:59:26 · 540 阅读 · 0 评论 -
http://www.itjhwd.com/ios/
http://www.itjhwd.com/ios/原创 2015-05-07 21:55:35 · 743 阅读 · 0 评论 -
NSInvocation的使用
在 iOS中可以直接调用 某个对象的消息 方式有2种一种是performSelector:withObject:再一种就是NSInvocation第一种方式比较简单,能完成简单的调用。但是对于>2个的参数或者有返回值的处理,那就需要做些额外工作才能搞定。那么在这种情况下,我们就可以使用NSInvocation来进行这些相对复杂的操作NSInvocation可以处理参转载 2014-01-22 13:50:57 · 616 阅读 · 0 评论 -
iOS多线程编程指南(三)Run Loop
Run LoopsRun loops是线程相关的的基础框架的一部分。一个run loop就是一个事件处理的循环,用来不停的调度工作以及处理输入事件。使用run loop的目的是让你的线程在有工作的时候忙于工作,而没工作的时候处于休眠状态。Run loop的管理并不完全自动的。你仍然需要设计你的线程代码在合适的时候启动run loop并正确响应输入事件。Cocoa和Core Fund转载 2013-06-27 18:32:06 · 687 阅读 · 0 评论 -
navigation
http://stackoverflow.com/questions/410471/how-can-i-pop-a-view-from-a-uinavigationcontroller-and-replace-it-with-another-i转载 2013-07-09 08:20:54 · 515 阅读 · 0 评论 -
在UIWebView中自定义显示选中文字的编辑菜单项
在iOS系统中,所谓“编辑菜单(Editing Menu)”和“上下文菜单(Contextual Menu)”是有区别的,但在桌面操作系统中,我们常说的“右键菜单”就已经囊括了“编辑菜单”和“上下文菜单”。iOS将两者细分开来,大概是因为移动客户端显示屏大小限制,将所有菜单揉和在一起的话,必定导致超出显示范围,带来不好的操作体验。Editing Menu转载 2013-06-21 17:41:09 · 1505 阅读 · 0 评论 -
创建你自己的 iOS 框架
如果你是IOS的新手,并有.net开发的背景(就像我一样),你可能到处去找,哪里有dll呢?其实,IOS平台是使用框架而不是dll,框架里面包含公共头文件和二进制文件。很不幸,XCode并不支持你自己去创建框架。对于一个开发人员,这是个大问题,b/c缺少框架,我们就不得不去创建一个静态库文件。但是使用lib文件是一件痛苦的事情。实质上,向工程添加库的引用,并告诉功能工程在哪里可以找转载 2013-06-07 14:22:47 · 678 阅读 · 0 评论 -
【转载】多线程GCD的使用
在红黑联盟上看到一篇关于多线程GCD的教程文章,写的深入浅出,特转载于此,以备不时之需。原文链接另:补充两个GCD代码,都是Xcode snippet里面提供的:1.Dispatch After主要用于延迟执行一些代码。例子: int64_t delayInSeconds = 1.0; dispatch_time_t popTime = dis转载 2013-06-07 14:21:10 · 608 阅读 · 0 评论 -
如何让view只响应一个按钮
一些应用经常会在一个view上放多个按钮,比如登录页面,就会有注册与登录按钮。理论上讲注册和登录按钮是不能同时按下的,但是如果你同时按下这两个按钮,这两个东东都会显示响应高亮状态,其结果就不可预知了。这种情况经常会被测试童鞋当成bug。其实UIView类属性有个exclusiveTouch属性,表示是否该view响应触摸是排他的。默认的设置是NO,即不排他。如果想让按钮排他响应,只需将按钮转载 2013-06-07 13:50:18 · 1006 阅读 · 0 评论 -
推荐两款Xcode插件:KSImageNamed & ColorSense
之前没怎么接触过Xcode插件,最近发现有人给Xcode做了一些方便编程的插件。今天就推荐两个我个人认为比较好的。1.KSImageNamed 网站地址KSImageNamed是一款方便填写图片文件名称的插件。支持NSImage和UIImage,当你写到[UIImage imaged:的时候,插件会把项目中的图片名称提示出来,并且还有预览功能,对经常用代码生成图片视图的童鞋十分方便转载 2013-06-07 11:59:49 · 722 阅读 · 0 评论 -
圆形进度条的绘制与使用
demo地址:https://github.com/nijino/CircularProgressView项目中总会遇到一些非原生类的UI效果。最近我就遇到了一个音频播放圆形进度条的需求。在网上找了一下,感觉写的都比较复杂。本来需求就不是很复杂,干吗要整复杂呢?于是我参考类似的第三方库代码自己写了一个,并把它封装,放到了github(地址)上。封装后在要生成进度条时设定圆形进度转载 2013-06-07 14:25:05 · 1361 阅读 · 0 评论 -
Luhn 算法
Luhn算法Luhn 算法或是Luhn 公式,也被称作“模10算法”。它是一种简单的校验公式,一般会被用于身份证号码,IMEI号码,美国供应商识别号码,或是加拿大的社会保险号码的验证。该算法是由IBM的科学家Hans Peter Luhn所创造,于1954年1月6日提出该专利的申请,并于1960年8月23日被授予,在美国的专利号为2950048。该算法一直都被大家所公用,并且时至今转载 2013-06-14 20:44:11 · 3377 阅读 · 0 评论 -
iOS唯一标示符引导
在2013年3月21日苹果已经通知开发者,从2013年5月1日起,访问UIDID的应用将不再能通过审核,替代的方案是开发者应该使用“在iOS 6中介绍的Vendor或Advertising标示符”。unique Identifier即将退出,苹果给了我们Vendor和Advertising identifier两个选择,但应该用哪一个?文档并没有给出确切答案,具体使用哪个完全由你根转载 2013-05-31 17:09:00 · 748 阅读 · 0 评论 -
iOS后台多任务研究
在iOS 4.0中,苹果引入了多任务的概念。所谓的多任务,只是“伪”多任务,因为苹果只支持以下几种类型的多任务,除了这几种,其它的应用程序进入后台都是处于休眠状态,直到程序被再次激活。以下是苹果官方的原文:iPhone OS 4 delivers seven new multitasking services that allow your apps to perform task转载 2013-05-29 19:02:46 · 1048 阅读 · 0 评论 -
iOS后台定位实现
工作中碰到一个定位的应用场景:app需要在后台运行,实时上传用户地理位置。苹果对iOS的规范性在提升了app的品质的同时也带来了对开发者的限制。翻阅了各种官方文档和资料,得出结论如下:1、实现后台定位有2种方式:standard location service(调用CLLocationManager的startUpdatingLocation)signif转载 2013-05-29 11:10:34 · 1423 阅读 · 0 评论 -
iOS判断是ipad还是iphone
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions{ self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]转载 2013-07-26 13:31:20 · 917 阅读 · 0 评论