
Xcode 编程
文章平均质量分 60
Robincui2011
这个作者很懒,什么都没留下…
展开
-
iOS里的单元测试
最近些项目,用到单元测试,在网上找的一些方法都比较老旧了, 经过整理,总结出自己的一套方式;1.新建一个工程MyWork,系统会自动为我们创建好单元测试文件;2. 在测试文件的Build Settings 设置如下内容3.添加gcov IOS7下辅助刷新的类库: XCode5gcovPatch下载XCode5gcovPatch后解压,将图中的文件添加到工程目录下原创 2015-01-06 18:07:39 · 2828 阅读 · 0 评论 -
iOS 6 下自动旋转的变化
iOS 6 SDK 中的屏幕自动旋转有了一些变化,简单纪录之。举例:Master-Detail 类型 App,master ViewController 不支持屏幕旋转, detail ViewController 支持屏幕旋转。在 Info.plist 或 Target-Summary 启用自动旋转,选中需要的 Supported Interface Orientations。新建 UI转载 2013-02-02 15:38:37 · 1080 阅读 · 0 评论 -
object_getClass 含义
objc的runtime中有两种判断类型的方式比较靠谱,他们可以直接取得任意一个objc_object(和id是完全一样的数据类型)的类或者类名。其函数如下://Returns the class name of a given object.const char *object_getClassName(id obj); //Returns the class of an object转载 2013-01-12 13:08:49 · 4441 阅读 · 0 评论 -
Block如何避免self retain
Objective C Blocks: Is there a way to avoid 'self' being retained?I discussed this topic with Apple support, and they told me what I had expected: currently, there is no way that would原创 2013-01-27 17:05:45 · 2987 阅读 · 0 评论 -
IOS 精准计时
前一段的项目中需要用到一个计时器,原来以为很简单,用一个timer就完事,后来发现没那么简单.因为timer可能被阻塞,导致计时的不准确,延迟倒还说得过去,关键是事件确越走越快,对于推广秒排的商家来说,事件还没到呢,东西却被人都拍走了.后来用了很多方法,都不能完美解决计时的问题,后来经过查资料,何在群里求援,总算有了一个比较好的解决方法:__block TestViewContro原创 2013-01-22 16:32:30 · 5327 阅读 · 1 评论 -
让UISearchBar搜索框彻底透明
如果你用各种方法都无法令UISearchBar透明,以下方法可以试试[[searchbar.subviews objectAtIndex:0]removeFromSuperview]; 直接将立体效果的视图移出,这样就只剩下搜索框框了。怎么改变uisearchbar中的cancel按钮的文字 - (void)sear原创 2012-08-09 09:34:39 · 3581 阅读 · 0 评论 -
Xcode 无提示解决方案
在orgnizer无法将解决时,可以尝试/Users/用户名/Library/Developer/Xcode/DerivedData 路径下的缓存文件,重启xcode即可对于错误的提示,例如存在的文件却说没有,存在的方法提示找不到,都可以删除缓存来解决原创 2012-11-21 09:27:30 · 2538 阅读 · 0 评论 -
关于UISearchBar背景完全透明设置的代码
//设置搜索框 searchBar=[[UISearchBar alloc] initWithFrame:CGRectMake(5, 103, 280, 36)]; [searchBar setTintColor:[UIColor clearColor]]; searchBar.delegate=self; searchBar.autocorrectionT原创 2012-08-21 19:54:55 · 5668 阅读 · 2 评论 -
Xcode学习笔记中关于如何定义宏问题解决
http://www.cnblogs.com/pengyingh/articles/2402977.htmlXcode学习笔记中关于如何定义宏问题解决是本要介绍的内容,主要是来学xcode中宏的学习,具体来看详细讲解。宏的使用可以节省代码重复输入工作,还可以为调试带来各种好处。本文列出了几个非常简单实用的宏。这些是我在Xcode中常用到的宏:CMLog: 用它来代替NS转载 2012-11-07 11:26:08 · 997 阅读 · 0 评论 -
ios 定位的一些属性
1、获取当前定位 iOS提供了一个叫作CoreLocation.framework的框架。使用他可以取到自己的定位信息(经纬度)。请参考下面代码片段:01if([CLLocationManager locationServicesEnabled]){02 //定位功能开启的情况下进行定位03 CLLocationManager *man转载 2012-11-06 16:07:55 · 8991 阅读 · 1 评论 -
objective-c 新语法特性
http://www.infoq.com/cn/articles/wwdc2012-objective-c-new-feature今年2012的WWDC上,苹果针对Objective-C和LLVM编译器都做了重大改进,我们来看一看Objective-C增加了哪些新特性。1、方法顺序无关Objective-C类由声明文件h和实现转载 2013-02-21 16:32:25 · 2275 阅读 · 0 评论 -
iOS 越狱判断
@interface UIDevice (Helper) - (BOOL)isJailbroken; @end@implementation UIDevice (Helper) - (BOOL)isJailbroken { BOOL jailbroken = NO; NSString *cydiaPath = @"/Applications/C转载 2013-04-07 16:49:13 · 741 阅读 · 0 评论 -
iOS 扫描wifi热点那些事儿
关于ios如何扫描wifi热点,网上一搜一大把,看完之后估计你很崩溃,因为所有的文章,其实都来自一处,转来转去的毫无新意,很多时候也不能解决问题.这里就说一下 我在做扫描时遇到的一些问题.(关于怎么扫描,自己google吧)源码地址: https://github.com/devinshively/wifiAssociate扫描wifi信息的参考资料:http://code.g原创 2013-04-26 11:43:30 · 19701 阅读 · 7 评论 -
About iOS webview load commpletly
如何判断webview彻底加载完成,仅仅依靠webViewDidFinishLoad是不能确定的,因为一个页面可能会多次回调该函数(加载图片,加载js file,加载css,都有可能调用),在网上找到两种解决方案:1.http://stackoverflow.com/questions/908367/uiwebview-how-to-identify-the-last-webviewdid原创 2013-10-30 17:39:26 · 3854 阅读 · 0 评论 -
上拉加载 下拉刷新
最近看了BeeFramework的demo,感觉里边的下拉类表做的很漂亮,但是想把bee的控件单独摘出来很困难,也挺麻烦的,于是就结合以前项目的控件,做了一下封装,实现类似的效果代码:https://github.com/robin2013/CCRefreshTable我在代码里,引用了以前作者的部分代码,但我不知道是谁 哈哈!抱歉了!原创 2013-08-13 15:22:23 · 1172 阅读 · 0 评论 -
Notification的总结
对象之间通信的标准方式是发送消息,一个object直接调用另一个object的方法。前提是你需要知道两个对象及要发送的消息的内容。而且这样子耦合度太高,绑定了两个本来是独立的object。NSNotification包含 a name, an object, and an optional dictionaryAny object may post a notificationNSNo转载 2013-07-22 16:01:50 · 4449 阅读 · 0 评论 -
Objective-C 伪继承 与 消息重定向
多继承Objective-C不支持多重继承,但是我们有方法实现伪继承.举个例子,加入对象A无法处理消息fun,而对象B可以处理,此时A已经继承于类C,所以此时A不能再继承B。我们可以用消息转发的方式,来将消息转发给能够处理fun消息的对象B。当然可以这么实现1 A: 2 -fun 3 { 4 if([B respondTo:@selector(f转载 2013-07-22 14:42:59 · 1233 阅读 · 0 评论 -
IOS 打开推送的应用程序时屏幕白屏
在模拟器上运行正常,可是在往真机上推送,推送后,打开推送的应用程序时屏幕白屏,白屏之后最小化再点出来又能正常显示白屏之后 ,页面上的控件照样能用,就是看不见,如果从顶端拉下通知中心,就又能看到页面,放手让通知中心返回,直接变白屏! 很奇怪吧! 这个问题好像和入口有关的main interface,出现这个问题的时候 ,应该同时出现这个警告"Applications are expe原创 2013-07-22 13:42:05 · 4020 阅读 · 0 评论 -
CGAffineTransformInvert: singular matrix. 解决方案
这个错误叫奇异矩阵,引起的原因有三种:1 [UIFont fontWithName:@"AFontName" size:0] 你把字体的size设置为0了2 你添加的view控件frame为0 例如:I was seeing this problem too when I added a UIWebView to my self.view.The offendi原创 2013-07-18 12:46:38 · 13714 阅读 · 0 评论 -
NSUserDefaults 与内存
NSUserDefaults被设计用来存储设备和应用的配置信息,它通过一个工厂方法返回默认的、也是最常用到的实例对象。这个对象中储存了系统中用户的配置信息,开发者可以通过这个实例对象对这些已有的信息进行修改,也可以按照自己的需求创建新的配置项。NSUserDefaults把配置信息以字典的形式组织起来,支持字典的项包括:字符串或者是数组,除此之外还支持数字等基本格式。一句话概括就是:基础类原创 2013-07-02 16:50:30 · 2312 阅读 · 0 评论 -
xcode attaching to 挂起
有时候xcode在模拟器上启动程序时,可能会出现挂起的现象,诸如attaching to.......解决方法有几个:1 在模拟器里删掉程序(或者模拟器还原),在xcode里边清掉缓存(/Users/apple/Library/Developer/Xcode/DerivedData)2 执行1之后还不行,重启mac3 如果以上还不行Here was our原创 2013-07-09 22:59:30 · 1623 阅读 · 0 评论 -
GDC dispatch_semaphore
当我们在处理一系列线程的时候,当数量达到一定量,在以前我们可能会选择使用NSOperationQueue来处理并发控制,但如何在GCD中快速的控制并发呢?答案就是dispatch_semaphore,对经常做unix开发的人来讲,我所介绍的内容可能就显得非常入门级了,信号量在他们的多线程开发中再平常不过了。 信号量是一个整形值并且具有一个初始计数值,并且支持两个操作:信号通知和等待。当一个信原创 2013-07-08 11:34:08 · 14287 阅读 · 0 评论 -
原型和流程图绘制工具 OmniGraffle [for Mac]
在 Mac 上制作原型和流程图绘制工具很多人都会选择 OmniGraffl, Felix 这里有一篇关于它的说明, 推荐阅读.另外下面这些信息也许对你有所帮助(来自这里):OmniGraffle Pro 一款功能强大的绘图软件,可提供给您绘制图表,如:树状结构表,流程表,页面编排等等,您还可以用 OmniGraffle 来规划电影或者戏剧剧本的情节走向,绘制公司的组织图,并转载 2012-10-18 15:50:00 · 9467 阅读 · 2 评论 -
iOS 开发常用的解决方法
http://www.opensoce.com/?p=1298http://www.cnblogs.com/iphone520/archive/2011/12/30/2225160.html原创 2012-08-24 16:25:22 · 619 阅读 · 0 评论 -
tableview 详解
-、建立 UITableView DataTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 420)]; [DataTable setDelegate:self]; [DataTable setDataSource:self]; [self.view addSubview:DataTable]; [DataTable转载 2012-08-09 10:39:51 · 776 阅读 · 0 评论 -
iOS常用术语 技巧 秘籍
iOS有很多常用术语,让我们来好好认识一下。ECID码 全称 Exclusive Chip ID ,每一台硬件设备的 ECID 都是独一无二的。每一代系统的 SHSH文件 也是不尽相同的。这两者组合起来,就令每一台设备在每一个版本的系统下都有一段独一无二的验证数据。苹果现在更新固件以及恢复固件是需要连接苹果官方服务器ECID验证,才能刷固件. 备份ECID码和00.shsh 文件为了防止转载 2011-12-01 11:01:13 · 2911 阅读 · 0 评论 -
什么是B帧、I帧和P帧?
简单来说,视频压缩时,其实是把每帧当作一幅静止图像压缩,这个大家应该不会有问题。在实际压缩时,会采取各种算法减少数据的容量,其中I帧、P帧、B帧就是最常见的。I表示关键帧,你可以理解为这一帧画面的完整保留;解码时只需要本帧数据就可以完成(因为包含完整画面)P表示的是这一帧跟之前的一个关键帧(或P帧)的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。(也就是差转载 2011-11-29 16:43:19 · 1269 阅读 · 0 评论 -
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++-4.2 failed with exit
用C,C++,Objective-C三种C语言3C混编的开发程序,在当然方法也和大家说一下吧,就是在Xcode环境中把C语言的.c文件,C++的.cpp文件与Objective-C的.m文件的文件名全部修改成.mm,这样就可以启用Objective-C++的编译环境3C混编了,可是遇到了上述问题,网上的说法不一致,而且我也遇到了多次这个问题,最后解决的方式也不一样,所以最后把所有可能的情况总结了一原创 2011-11-04 10:56:37 · 1504 阅读 · 0 评论 -
基于REST协议实现iPhone和Google App Engine之间的通信
本文主要介绍如何基于REST协议实现在iPhone和Google App Engine之间进行的通信。REST协议是一个基于HTTP协议,能够简单的实现数据的追加,更新,删除和获取。通信的数据格式采用JSON一个轻量级的数据格式。iPhone作为客户端,其主要功能是提交和获取数据转载 2011-10-11 15:08:04 · 1738 阅读 · 0 评论 -
NSMutableURLRequest,在POST方式下传递参数
NSMutableURLRequest,在POST方式下传递参数NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; NSUserDefaults *defs = [NSUserDef转载 2011-10-11 15:04:58 · 1464 阅读 · 0 评论 -
iPhone中XML处理以及网络上的图片显示
xml处理: iPhone开发中,XML处理的方式与.net区别很大。个人感觉没有donot那么方便。苹果sdk中提供了NSXMLParser这个类库来解析xml。它需要一个url作为输入参数,通过NSXMLParser的委托方法来解析这个xml文件。NSXMLParser转载 2011-10-11 15:03:43 · 608 阅读 · 0 评论 -
手把手教你iPhone 3G手机软件开发
手把手教你iPhone 3G手机软件开发“iPhone 是一款革命性的、不可思议的产品,比市场上其它任何移动电话整整领先了五年,”苹果公司首席执行官史蒂夫·乔布斯如是说,“手指是我们与生俱来的终极定点设备,而iPhone利用它们创造了自鼠标 以来最具创新意义的用户界面。”转载 2011-10-12 17:58:21 · 766 阅读 · 0 评论 -
uiimage 图片缩放
- (UIImage *)scaleToSize:(UIImage *)img size:(CGSize)size{ // 创建一个bitmap的context // 并把它设置成为当前正在使用的context UIGraphicsBeg转载 2011-09-30 11:17:08 · 494 阅读 · 0 评论 -
项目总结——关于折腾tableviewcell的经验
对于group的tableview 要向设置其cell背景色完全透明有点困难,通常的设置都无法彻底去掉背景色,以下方法可以解决问题,并可以为每个cell都加上边框(当然,想完全透明就别加setBorderWidth) [cell setBackgroundColor:[UIColor clearColor]]; UIView *tmp=原创 2012-08-10 14:56:01 · 4978 阅读 · 0 评论 -
项目总结-关于收起键盘的处理
关于键盘:在ipad上,键盘的隐藏又好记重处理方式,一般的是用[[userField resignFirstResponder]这种方式实现,其实这算得上是程序主动关闭键盘的(毕竟是自己调用方法实现的),另一种就是用户自己关闭键盘(ipad键盘有一个收起的按钮哦),对于这种事件的捕捉就要用到通知了。首先要在viewdidload里边注册一个通知 [[NSNotific原创 2012-08-10 13:37:28 · 2191 阅读 · 0 评论 -
iOS 5新特性抢先看(转载)
原文转载自果壳网 guokr.com - 果壳网1. 通知中心有人觉得iPhone上的信息弹出提示是苹果iOS系统的一大败笔,现在苹果将一个名为“通知中心”(Notification center)的服务加入到了iOS 5中,这个服务有点类似Android系统,你可以从中获知包括短信、来电、邮件、日历提醒等信息。当你的手指从屏幕顶部滑下,你就进入了通知息中心。有新消转载 2012-08-10 15:03:24 · 1988 阅读 · 0 评论 -
特殊字符
(一)规则形状(圆形、三角形、方形、菱形)○ ⊙ ◎ ◐ ◑ 。 。 。° º o O . · ۰ • ● ◕ ◕ ☉⊕ Θ ✪ ✪ ◣◢ ◤◥ ⊿ ・ ‧ ▫ ▪ □ ▣ ▓ ▒ ░ ▧ ▨ ▤ ▥ ▦ ▩ ◘ ◙ ☒ ■ ▬ 〓 ▀ ▁ ▂ ▃ ▄ ▅ ▆ ▇ █ ▋▌▍▐ ◦ ◊ ♢ ♦ ❖ ◇ ◈ ◆ (二)图形符号♂ ♀ ♠ ♣ ♥ ♦ ♤ ♡ ◇转载 2012-08-31 18:33:44 · 1591 阅读 · 0 评论 -
ios的视图控制器的viewWillAppear和viewDidAppear什么时候被调用
翻译自: http://stackoverflow.com/questions/5277940/why-does-viewwillappear-not-get-called-when-an-app-comes-back-from-the-backgrounviewWillAppear和viewDidAppear什么时候被调用问:当我向一个UINavigationControll转载 2012-08-21 20:04:49 · 5394 阅读 · 0 评论 -
IOS 开发,调用打电话,发短信,打开网址
1、调用 自带mail[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://admin@hzlzh.com"]];2、调用 电话phone[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@转载 2012-08-21 19:57:10 · 4502 阅读 · 0 评论 -
给XCODE加一个注释的小插件
首先要下载这个服务 http://www.duckrowing.com/wp-content/uploads/2011/05/xcode_doxygen_helper.tgz 这是一个老外写的工作流,解压缩,然后双击,安装一下, 选择xcode -- services --services perference 安装完就会在右边的菜单中的文本部分中看到Document Code转载 2012-08-31 16:24:35 · 1368 阅读 · 0 评论