iOS
文章平均质量分 58
技术改变命运
我想改变整个世界,可惜没有源代码。
展开
-
iOS检测版本更新
//(***为app id)-(void)GetUpdate { NSDictionary *infoDict = [[NSBundle mainBundle] infoDictionary]; NSString *nowVersion = [infoDict objectForKey:@"CFBundleVersion"];原创 2014-01-08 14:37:48 · 720 阅读 · 0 评论 -
Mac和iOS开发资源汇总
小引本文主要汇集一些苹果开发的资源,会经常更新,建议大家把这篇文章单独收藏(在浏览器中按**command+D**)。今天(2013年7约19日)收录了许多中文网站和博客。大家一定要去感受一下哦。如果大家有知道不错的站点,可以告诉我。 目录1、苹果官方文档2、邮件列表3、论坛4、网站5、博客6、大会7、播客和转载 2014-03-24 17:39:04 · 645 阅读 · 0 评论 -
NSTimer简单使用
先看看NSTimer的两个常用方法:+ (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo; //生成timer但不执行+ (NSTimer *)schedu转载 2014-03-21 14:25:27 · 632 阅读 · 0 评论 -
如何让NSURLConnection在子线程中运行
可以有两个办法让NSURLConnection在子线程中运行,即将NSURLConnection加入到run loop或者NSOperationQueue中去运行。前面提到可以将NSTimer手动加入NSRunLoop,Cocoa库也为其它一些类提供了可以手动加入NSRunLoop的方法,这些类有NSPort、NSStream、NSURLConnection、NSNetServices,方转载 2014-03-21 17:00:50 · 621 阅读 · 0 评论 -
GCD学习篇
GCD(Grand Central Dispatch)是从OS X Snow Leopard和iOS 4开始引入的新一代的多线程编程技术。开发者只需定义想执行的任务并追加到适当的Dispatch Queue中,GCD就能生成必要的线程并有计划的执行任务。并且由于线程管理是作为系统的一部分来实现的,因此系统可以统一管理,它会决定什么时候创建新线程,创建哪些新线程,多个任务是顺序执行还是并发执行。这样转载 2014-03-14 10:47:57 · 581 阅读 · 0 评论 -
如何使用KeyChain保存和获取UDID
如何使用KeyChain保存和获取UDID 本文是iOS7系列文章第一篇文章,主要介绍使用KeyChain保存和获取APP数据,解决iOS7上获取不变UDID的问题。并给出一个获取UDID的工具类,使用方便,只需要替换两个地方即可。 一、iOS不用版本获取UDID的方法比较 1)iOS 5.0 iOS 2.0版本以后UIDevic转载 2014-02-11 17:19:54 · 943 阅读 · 0 评论 -
状态栏提示控件的实现原理
现在很多流行的软件都加入了状态栏提示的功能,比如手机qq,微信等,今天我们就一起来看看状态栏提示控件的原理与实现。一、状态栏提示的实现原理 不知道大家看到状态栏提示控件,第一感觉它是怎么实现的呢? 我们知道即使平时写的view是充满全屏的,也始终不会显示到statusBar的上层的。也就是说statusBar应该是一个特殊的view,始终位于程序的topLev转载 2014-02-11 17:15:05 · 855 阅读 · 0 评论 -
根据NSString计算UILable的高度,并且更新UILable的frame
UILabel * testlable = [[UILabelalloc]init]; NSString * tstring =@"UILabel ios7与ios7之前实现自适应撑高的方法,文本的内容长度不一,我们需要根据内容的多少来自动换行处理。在IOS7下要求font,与breakmode与之前设置的完全一致sizeWithFont:font constr原创 2014-01-20 15:41:26 · 1296 阅读 · 0 评论 -
iOS7新特性
iOS7到现在已经发布了有一段时间了。相信你现在已经了解了它那些开创性的视觉设计,已经了解了它的新的API,比如说SpirteKit,UIKit Dynamics以及TextKit,作为开发者,也很可能已经在使用Xcode5进行开发了。 然而,它新颖以及备受争议的特性,让iOS7成为iOS系统史上最大的发布之一。除非你是那种用整晚的时间阅读iOS7更新内容的那种人,那么就可能会忽视转载 2014-01-20 14:08:31 · 774 阅读 · 0 评论 -
layoutSubviews总结
ios layout机制相关方法- (CGSize)sizeThatFits:(CGSize)size- (void)sizeToFit——————-- (void)layoutSubviews- (void)layoutIfNeeded- (void)setNeedsLayout——————–- (void)setNeedsDisp转载 2014-01-16 14:11:04 · 542 阅读 · 0 评论 -
cancelPreviousPerformRequestsWithTarget的使用
- (void) networkReachabilityDidUpdate:(NetworkReachability*)reachability{ [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(reachabilityChanged) object:nil];转载 2014-01-16 15:04:31 · 1273 阅读 · 0 评论 -
Java、Android和iPhone 3DES加密
移动开发中遇到的最让人纠结的要属Java、Android和iPhone三个平台加解密不一致的问题。因为手机端后台通常是用JAVA开发的Web Service,Android和iPhone客户端调用同样的Web Service接口,为了数据安全考虑,要对数据进行加密。头疼的问题就来了,很难编写出一套加密程序,在3个平台间加解密的结果一致,总不能为Android和iPhone两个客户端各写一套Web转载 2014-01-14 17:52:32 · 1057 阅读 · 0 评论 -
iOS7 UITableView视图结构解析
UITableViewCell *cell=(UITableViewCell *)[[[textViewsuperview] superview]superview]; UITableView *myTableView=(UITableView *)[[(UITableViewCell *)[[[textViewsuperview] superview]supervi原创 2014-01-14 14:47:00 · 2588 阅读 · 0 评论 -
addEntriesFromDictionary
NSMutableDictionary的addEntriesFromDictionary:方法的使用,这是一个整体拼接字典的方法:- (void)addEntriesFromDictionary:(NSDictionary *)otherDictionary 这个方法在进行多个字典拼接的时候非常有用,举例如下://先定义需要使用的KEY NSString *LAST=@"原创 2014-01-21 14:16:13 · 4208 阅读 · 0 评论 -
NSDictionary转换成json格式的数据
NSData *jsonData=[NSJSONSerialization dataWithJSONObject:self.formDataDic] options:NSJSONReadingMutableContainers error:&error];NSString *jsonString=[[NSString alloc] initWithData:jsonData encoding:原创 2014-01-08 11:16:05 · 899 阅读 · 0 评论 -
递归找出当前View上处于可编辑状态的UIView
- (UIView*)findFirstResponderBeneathView:(UIView*)view { // Search recursively for first responder for ( UIView *childViewin view.subviews ) { if ( [childView respondsToSelect原创 2014-01-08 11:11:17 · 789 阅读 · 0 评论 -
NSAssert的使用
for(;iNSAssert(i >= 0 && i 变量超出了范围。", i);int b = i * i;NSLog(@"b = %i",b);} 当i == 9时,NSAssert就会打印信息。原创 2014-03-25 15:36:30 · 525 阅读 · 0 评论