08 2013 档案
摘要:实际编程总会涉及到比较两个字符串的内容,一般会用[string1 isEqualsToString:string2]来比较两个字符串是否一致。对于字符串的isEqualsToString方法,需要逐个比较字符串的内容,是比较耗时的操作。偶然间我发现NSString类里有个hash方法,作用是返回NSString实例的散列值。众所周知,内容相同的字符串拥有相同的散列值,内容不同的字符串拥有不同的散列值。所以完全可以根据字符串散列值来判断两个字符串是否一致。于是上面比较字符串的写法可以这么写(一般比较字符串是if语句的判断条件):if ([string1 hash] == [string2 has
阅读全文
摘要:说两个与KVC相关的技巧。1.KVC与字典有时候我们需要取出嵌套字典中的某个键的值。例如某个嵌套字典:NSDictionary *dict = @{@"subDict":@{@"subKey":@"aStr"}};需要取出subKey这个键的值。以前总是用valueForKey嵌套的语法来做,其实根本不用那么麻烦,直接利用valueForKeyPath方法就可以实现。代码如下:NSString *str = [dict valueForKeyPath:@"subDict.subKey"];2.KVC实现高阶消息传递
阅读全文
摘要:在我工作中经常会遇到有人吐槽Xcode中的interface builder(以下简称IB)不好用的开发者。在我看来,IB是一个非常棒的可视化开发工具,可以非常快捷的设置UI控件的大部分常用属性。下面就说两个IB中的技巧:1.快速显示元素相对位置这个技巧由@余书懿在新浪微博分享。在IB中,选中一个control A,然后按住alt键,鼠标指向B,就显示A和B的相对位置关系,指向父view也行。2.给页面添加水平、垂直辅助线这个技巧是由我一个好朋友,同时也是陌陌的产品经理发现的。IB中是可以添加水平和垂直的辅助线的。并且辅助线是可以拖动、重复添加和删除的。水平辅助线的快捷键是:Command +
阅读全文
摘要:最初最近在开发应用时碰到使用ASIHttpRequest后在某些机器上发不出请求的问题,项目开启了ARC,代码是这样写的:@implement MainController- (void) fetchUrl{ ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:currUrl]]; [request setCompletionBlock:^{ NSLog(@"completed"); }]; [request startAsynchronous];}@e...
阅读全文
摘要:对于在Xcode上提高工作效率,内功在这不提,对于外力,我将它分为三类: 工具、快捷键和小技巧。主要获得的路径是通过平时积累和看WWDC12上的 Session 402:Working Efficiently with Xcode。一、工具类 (可参考:CocoaChina工具开发库)主要推荐:1. 搜索工具:alfred介绍: 让你搜索您的Mac OS更快,更快,更快的!支持本地和网络搜索下载地址: http://www.alfredapp.com2. 调试工具:ponyDebugger介绍: Network Traffic Debugging、Core Data Browser、View
阅读全文
摘要:Open Source and the iOS App StoreToday, we are open-sourcing 4 iOS apps:ThatInbox, an email client:App Store,Github,CocoaControlsThatCloud, a way to access and work with files stored online:App Store,Github,CocoaControlsThatPhoto, a way to view and edit your photos:App Store,Github,CocoaControlsThat
阅读全文
摘要:原文出处:Ben Scheirman译文出处:Njuxjy(@脑残的果粉)如果你去到一位熟练的木匠的工作室,你总是能发现他/她有一堆工具来完成不同的任务。软件开发同样如此。你可以从软件开发者如何使用工具中看出他水准如何。有经验的开发者精于使用工具。对你目前所使用的工具不断研究,同时了解一些替代品的使用,当你目前所用的工具无法满足你的需要时可以填补空缺。记住了这些,我将向你展示一份关于各种工具的长长的列表。其中一些我每天都用,其他的我看情况使用。如果你还有更多的工具想展示在这个列表里,可以跟我留言哦亲。我尽我所能给列表分分类。有一些是网站,有些是后台服务,但大多数是你可以装的应用。不是所有应用都
阅读全文
摘要:转自I'm Allen的博客原文:iOS Programming Architecture and Design Guidelines原文来自破船的分享原文作者是开发界中知晓度相当高的 Mugunth Kumar,他是 MKNetworkKit 的作者(虽然没有 AFNetworking 使用那么广泛,但也是一个很棒的 Network Kit),更是最近流传甚广的《iOS 5/6 Programming - Pushing The Limits》的作者。文章中 MK 介绍了几点开发中常用的小技巧,几条 Tips 简单易懂,但是很实用,不但可以提高开发效率,而且可以提高代码的可读性和可复
阅读全文
摘要:Pleaseread this blog postto see why this is here. This data was created on 02/13/2012 20:00:00All content found below was taken fromStack Overflowin accordance with theCreative Commons license governing the site.As such, you are free to use this data as you wish so long as the proper attribution is
阅读全文
摘要:转自陶丰平的博客原文的题目是Designing for iOS: Graphics & Performance,晚上花了两个不到小时大致翻译了下。---Begin---在之前的文章里,我们探讨了基于多种不同技术来实现自定义的UIButton,当然不同的技术所涉及到的代码复杂度和难度也不一样。但是我也有意提到了基于不同方法的实现所体现出的性能表现也不一一相同。【在屏幕背后的东西】为了了解性能是如何受到影响的,我们需要进一步地观察iOS里图形实现背后的一些内容。下面这张图呈现了不同的frameworks和libraries之间的一些联系:在最顶层的就是UIKit,一个在iOS中用来管理用户
阅读全文
摘要:本文由webfrogs译自objc.io,原文作者Daniel Eggert。小引本篇英文原文所发布的站点objc.io是一个专门为iOS和OS X开发者提供的深入讨论技术的平台,文章含金量很高。这个平台每月发布一次,每次都会有数篇文章针对同一个特殊的主题的不同方面来深入讨论。本月的主题是“并发编程”,本文翻译的正是其中的第4篇文章。翻译此文是受到了破船的启发。他已经将objc.io本月主题的第二篇文章翻译完成了。 《OC中并发编程的相关API和面临的挑战(1)》《OC中并发编程的相关API和面临的挑战(2)》首次翻译文章,水平有限,欢迎指正。目录1、从前。。。2、延后执行3、队列 3.1、.
阅读全文
摘要:来自会员带睡帽的青蛙的分享:短话长说,开始写这个小工具到现在有两个月了,虽然东西少,但是很精练,改了又改,期间有不少问题 在坛子里获得了不少帮助 谢谢各位大大。就是两个文件一个类 CoreDataOperation,用的话,直接拉就行了,目的就是把CoreData变成多线程 不阻塞UI。用GCD实现的,用的是读优先,也可以改成写优先,读写者问题就不赘述了,有疑问请google。不过现在还没想好怎么处理线程阻塞后超时的问题,等有了好想法再改,大家多拍砖。项目地址https://github.com/Doraemomo/JYToolBox/简单说下用法每个Entity对应的类必须创建一个与之相对的
阅读全文
摘要:作者:valiant、jamy一、项目背景图1.1 常见的图像识别应用 本项目提出的图像算法主要解决如下问题:在移动设备实时获取图像的过程中,让算法自动决定何时进行图片发送请求、何时中断发送请求,并将此策略用在实时的图像检索应用中。目前的移动端图像检索应用,在选择发送图像时机时,多采用如下两种策略: 1.将图像不断地发送至后台,根据服务器端反馈结果,来决定停止发送; 2.加入用户交互,如拍照的方式,触发传送请求,如Google Goggles、百度识图、SOSO慧眼等当前主流视觉搜索引擎所做的那样。 采用第一种方案,可以保证用户较为方便地使用,由于传图密度较大,可以保证图片的质量比较好...
阅读全文
摘要:英文原文:API Design转自oschina 参与翻译(14人):李远超,魏涛,showme,weizhe72,周荣冰,crAzyli0n,WangWenjing,throwable,haoio,寂寞沙洲,Lohanry,daxiaoming,hyaicc,Khiyuan我最常做的开发任务是设计一个可重用的API组件。组件通常为iOS(尽管有时它们是OS X)设计的,且总是GUI控件或某种视图。多年来,我为客户开发了很多API组件,其中包括像Apple这样的客户,而且我已经很了解这个过程。我也定期发布开源组件,并且我把曾经对我有帮助的资料和API设计指南放在一起与大家分享。这是一个重要的主
阅读全文
摘要:原文出处:Pilky.me译文出处:lee zhong过去的几年中涌现了大量的Objective-C开发者。有些是从动态语言转过来的,比如Ruby或Python,有些是从强类型语言转过来的,如Java或C#,当然也有直接以Objective-C作为入门语言的。也就是说有很大一部分开发者都没有使用Objective-C太长时间。当你接触一门新语言时,更多地会关注基础知识,如语法和特性等。但通常有一些更高级的,更鲜为人知又有强大功能的特性等待你去开拓。这篇文章主要是来领略下Objective-C的运行时(runtime),同时解释是什么让Objective-C如此动态,然后感受下这些动态化的技术细
阅读全文
摘要:作为技术人员,已经有蛮长一段时间没有把自己的开发经验做一次总结了,可能是因为太忙和太懒吧,所以这次决定把自己这两三年来作为创业团队的成员在技术方面的心得和技巧做一个总结,也包括简单提及一下和之前在大网站工作的时候一些不同点进行分享。先介绍一下自己,网名RainX,2004年毕业后进入雅虎中国工作,之后直到2010年底,一直在阿里集团的技术团队。 2010年底的时候觉得时机比较合适了,就离职出来创业,先后做为合伙人创立了码云网(类似国外的eventbrite的自助活动管理平台)以及目前正在进行的回声网(情感故事社区)。首先先说一下作为创业团队的技术人员的成员和在大公司的技术人员的不同之处。首先,
阅读全文
摘要:在App设计中为了加强用户体验,我们会常常加入一些友好的动画效果。比如类似UIAlertView弹出的动画效果,由于系统中并没有直接提供类似的动画API,如果我们想要做出一样的效果,那就得深入的研究一下系统中的UIAlertView了。仔细观察UIAlertView的动画你就会发现:这个动画是由几部分组成,它带一个视图大小抖动的效果。先是由小变大,再由大变小,最后变成本来的大小。但是这个大小的具体参数值和动画的速度恐怕是肉眼所不能看出来的。本篇文章会使用一些objc runtime和CAAnimation的一些知识,通过本文你可以了解到如何研究一些objc中内部调用机制和动画基础。要想知道这些
阅读全文
摘要:hashigh conversion ratesand iseasy to use. In other words, it's nice to both the business side as well as the people using it. Here is a running list of practical ideas to try out.All is read.Sign upfor updates.TryA One Column Layoutinstead of multicolumns.A one column layout will give you more
阅读全文
摘要:生成github公钥检查ssh公钥设置:如果id_rsa*文件不存在,跳到第三步;$ cd .ssh $ ls 备份原来的ssh key:备份旧数据,备份后删除旧数据;$ mkdir key_backup $ cp id_rsa* key_backup $ rm id_rsa* 生成github ssh key:$ ssh-keygen -t rsa -C "id@youremail.com" Generating public/private rsa key pair. Enter file in which to save the key (/Users/your_us
阅读全文
摘要:Block简介Block作为C语言的扩展,并不是高新技术,和其他语言的闭包或lambda表达式是一回事。需要注意的是由于Objective-C在iOS中不支持GC机制,使用Block必须自己管理内存,而内存管理正是使用Block坑最多的地方,错误的内存管理 要么导致return cycle内存泄漏要么内存被提前释放导致crash。 Block的使用很像函数指针,不过与函数最大的不同是:Block可以访问函数以外、词法作用域以内的外部变量的值。换句话说,Block不仅 实现函数的功能,还能携带函数的执行环境。可以这样理解,Block其实包含两个部分内容Block执行的代码,这是在编译的时候已经生
阅读全文
摘要://---------------------------------------------------------------------------------NSFileManager *fileManager = [NSFileManager defaultManager];NSString *homeDir= NSHomeDirectory();//获取AppHome目录NSString *documentsDirectory= [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];//获
阅读全文
摘要:引言:SDWebImage是我搞iOS以来少数佩服的框架,膜拜一下作者.真的写的非常棒!这套开源框架还是蛮重要的, 涉及到异步加载图片源和自动缓存.我们如果能够熟练使用其API 就可以实现很多复杂的需求了.作者依旧在更新,目前3.0 版本已经非常强大! 简化了更多的API接口.加强了下载类的支持和多个文件同时下载,以及内置了下载进度功能等安装:首选的安装方式是CocoaPodsGithub托管地址如下:https://github.com/rs/SDWebImageSDWebImage API 文档入口(英文的,蛋疼,如果中文的话,估计咱也不写这篇文章了,要么也很短.):http://hack
阅读全文
摘要:Mac自带了svn服务端和客户端,所以我们不用再去下载了。1 但首先 sudo vi /etc/paths将xcode里的Contents/developer/usr/bin加入到path2 创建一个目录当作svn的代码库3 去svnroot中看一下,文件夹中现在应该是空的,在下面创建一个repository目录运行shell终端将2中创建的 repository 指定为svn server的版本库目录 执行命令: svnadmin create /xxxx/svnroot/repository然后你在repository 中应该能看见新生成了一些文件: 如下图:4: 修改repos...
阅读全文
摘要:由于设计的游戏需要有一些联网请求,但有时候在设备未连接网络的情况下,如果对网络情况不加以判断,则可能造成游戏为了等游戏超时,浪费不必要的时间。所以在游戏启动时检测一下网络状况是很必要的,而且当玩家的设备连接上网络以后,有一个回调函数也是非常必要的一件事儿,这样可能更方便我们在后台下载数据库等信息。apple为我们提供了一套范例代码,下面我就来分析一下这段代码。范例代码地址在:https://developer.apple.com/library/ios/#samplecode/Reachability/Listings/Classes_ReachabilityAppDelegate_m.htm
阅读全文
摘要:0、基础数学离散数学,概率论与随机过程,矩阵,组合数学,图论什么的虽然以前都学过,这个一定得找时间看看,不为其他,只为数学 ;-)。1、体系结构也操作系统《深入理解计算机系统》:这本书之前完整地上过 CS61 的课程,所以基本上大致内容都了解,不过还应该多看看。《UNIX 环境高级编程》:也完整地看过,但还需要温习一遍。2、网络编程《UNIX 网络编程》:卷1前面几张看得很详细,后面感觉大部分都在讲 API 的使用,所以只当参考书吧,卷2需要再看看,免得到时候忘了。《TCP/IP 详解》:时间不够,只看与 TCP/UDP 相关的内容。《自顶向下方法—计算机网络》:也是重点复习 TCP 基本原理
阅读全文

浙公网安备 33010602011771号