随笔分类 -  IOS

摘要:最近在Stack Exchange上面看到一个帖子,是问程序库设计的指导原则的,“What guidelines should I follow while designing a library?”,有趣的是,很多人都在谈论面向设计,各路API设计,还有程序语言设计,唯独搜索“程序库设计”,无论中... 阅读全文
posted @ 2014-04-24 11:26 菁菁工作室 阅读(179) 评论(0) 推荐(0) 编辑
摘要:http://blog.csdn.net/theonezh/article/details/8158420http://www.cnblogs.com/cate/ios/http://www.cnblogs.com/pinping/archive/2012/10/12.htmlhttp://www.... 阅读全文
posted @ 2014-04-18 17:14 菁菁工作室 阅读(436) 评论(0) 推荐(0) 编辑
摘要:#import #import #import static io_connect_t get_event_driver(void) { static mach_port_t sEventDrvrRef = 0; mach_port_t masterPort, service, iter;... 阅读全文
posted @ 2014-04-18 17:03 菁菁工作室 阅读(587) 评论(0) 推荐(0) 编辑
摘要:http://www.cocoachina.com/bbs/read.php?tid=194213&keyword=7.1关于IOS7.1企业版发布后,用户通过SARAFI浏览器安装无效的解决方案:通过测试,已经完美解决。方案一:http://blog.csdn.net/zhaoxy_thu/art... 阅读全文
posted @ 2014-04-18 15:14 菁菁工作室 阅读(232) 评论(0) 推荐(0) 编辑
摘要:今天升级了iOS7.1后发现通过之前的url无法安装企业应用了,一直提示“无法安装应用程序 因为http://xxx.xxx.xxx证书无效”,折腾了一番,终于在StackOverFlow上找到了答案。在这里分享给大家。StackOverFlow链接:http://stackoverflow.com... 阅读全文
posted @ 2014-04-18 15:13 菁菁工作室 阅读(475) 评论(0) 推荐(0) 编辑
摘要:ios 有如下三种随机数方法: 1.srand((unsigned)time(0)); //不加这句每次产生的随机数不变int i = rand() % 5;2.srandom(time(0));int i = random() % 5;3.int i = arc4random() % 5 ;注:rand()和random()实际并不是一个真正的伪随机数发生器,在使用之前需要先初始化随机种子,否则每次生成的随机数一样。arc4random() 是一个真正的伪随机算法,不需要生成随机种子,因为第一次调用的时候就会自动生成。而且范围是rand()的两倍。在iPhone中,RAND_MAX是0x7f 阅读全文
posted @ 2014-04-11 17:08 菁菁工作室 阅读(177) 评论(0) 推荐(0) 编辑
摘要:When deadlines loom, even skilled and experienced programmers can get a little sloppy. The pressure to ship may cause them to cut corners and look for a quick and easy solution, even if that solution is sure to cause trouble later on. Eventually, their coding style devolves into copy and paste progr 阅读全文
posted @ 2014-04-11 15:51 菁菁工作室 阅读(458) 评论(0) 推荐(0) 编辑
摘要:I am using ALAsset to retrieve images like that:[[asset defaultRepresentation] fullResolutionImage]]This return CGImageRef which I want to save to disk as fast as possible...Solution 1:UIImage*currentImage =[UIImage imageWithCGImage:[[asset defaultRepresentation] fullResolutionImage]];NSData*current 阅读全文
posted @ 2014-04-11 11:51 菁菁工作室 阅读(390) 评论(0) 推荐(0) 编辑
摘要:Core Foundation框架(CoreFoundation.framework) 是一组C语言接口,它们为iOS应用程序提供基本数据管理和服务功能。下面列举该框架支持进行管理的数据以及可提供的服务:群体数据类型 (数组、集合等)程序包字符串管理日期和时间管理原始数据块管理偏好管理URL及数据流操作线程和RunLoop端口和soket通讯Core Foundation框架和Foundation框架紧密相关,它们为相同功能提供接口,但Foundation框架提供Objective-C接口。如 果您将Foundation对象和Core Foundation类型掺杂使用,则可利用两个框架之间的 阅读全文
posted @ 2014-04-11 11:40 菁菁工作室 阅读(214) 评论(0) 推荐(0) 编辑
摘要:好的编程原则跟好的系统设计原则和技术实施原则有着密切的联系。下面的这些编程原则在过去的这些年里让我成为了一名优秀的程序员,我相信,这些原则对任何一个开发人员来说,都能让他的编程能力大幅度的提高,能让他开发出可维护性更强、缺陷更少的程序。我不要自我重复 — 这也许是在编程开发这最最基本的一个信条,就是要告诉你不要出现重复的代码。我们很多的编程结构之所以存在,就是为了帮助我们消除重复(例如,循环语句, 函数,类,等等)。一旦程序里开始有重复现象的出现(例如很长的表达式、一大堆的语句,但都是为了表达相同的概念),你就需要对代码进行一次新的提炼,抽 象。http://en.wikipedia.org/ 阅读全文
posted @ 2014-04-11 10:09 菁菁工作室 阅读(202) 评论(0) 推荐(0) 编辑
摘要:在iPhone程序中集成广告,管他能不能赚钱,不放上一个iAd就心有不甘。参考了下面这篇文章:http://bees4honey.com/blog/tutorial/how-to-add-iad-banner-in-iphoneipad-app/还参考这个Integrating iAds into an iOS 4 iPad App (Xcode 4)教程。(1)加上iAd框架在项目设置里的Build Phases的Link Binary With Libraries,加上iAd.Framework。(2)在xib界面里拖入一个ADBannerView(3)修改ViewController的. 阅读全文
posted @ 2014-03-26 13:49 菁菁工作室 阅读(170) 评论(0) 推荐(0) 编辑
摘要:NSSet到底什么类型,其实它和NSArray功能性质一样,用于存储对象,属于集合;NSSet , NSMutableSet类声明编程接口对象,无序的集合,在内存中存储方式是不连续的,不像NSArray,NSDictionary(都是有序的集合)类声明编程接口对象是有序集合,在内存中存储位置是连续的; NSSet和我们常用NSArry区别是:在搜索一个一个元素时NSSet比NSArray效率高,主要是它用到了一个算法hash(散列,也可直译为哈希);开发文档中这样解释:You can use sets as an alternative to arrays when the orde... 阅读全文
posted @ 2014-03-24 13:42 菁菁工作室 阅读(148) 评论(0) 推荐(0) 编辑
摘要:XPath 是XML的查询语言,和SQL的角色很类似。以下面XML为例,介绍XPath 的语法。 Empire Burlesque Bob Dylan 10.90 Hide your heart Bonnie Tyler 9.90 Greatest Hits Dolly Parton 9.90 定位节点 XML是树状结构,类似档案系统内数据夹的结构,XPath也类似档案系统的路径命名方式。不过XPath 是一种模式(Pattern),可以选出 XML档案中,路径符合某个模式的所有节点出来。例如要选catalog底下的cd中所有price元素可以用:/catalog/cd/price... 阅读全文
posted @ 2014-03-24 11:43 菁菁工作室 阅读(296) 评论(0) 推荐(0) 编辑
摘要:一、关于Other Linker Flagsxcode中,在“Targets”选项下有Other Linker Flags选项,在这里可以填写xcode链接器的参数,如:-ObjC、-all_load、-force_load等。二、xcode链接器xcode采用的链接器为ld–GNU,ld是GNU工具链中的一个软件,主要用于将obj文件连接成可执行文件。同时你能使用自己的脚本来控制ld的行为,这是你可以通过-T选项选择你的脚本而不是默认的。可以通过1man ld了解更多。三、主要参数这里要说的主要参数是ld工具的参数,也是在Other Linker Flags里常用到的参数。1.-ObjC当使 阅读全文
posted @ 2014-03-24 11:02 菁菁工作室 阅读(281) 评论(0) 推荐(0) 编辑
摘要:背景在ios开发过程中,有时候会用到第三方的静态库(.a文件),然后导入后发现编译正常但运行时会出现selector not recognized的错误,从而导致app闪退。接着仔细阅读库文件的说明文档,你可能会在文档中发现诸如在Other Linker Flags中加入-ObjC或者-all_load这样的解决方法。那么,Other Linker Flags到底是用来干什么的呢?还有-ObjC和-all_load到底发挥了什么作用呢?链接器首先,要说明一下Other Linker Flags到底是用来干嘛的。说白了,就是ld命令除了默认参数外的其他参数。ld命令实现的是链接器的工作,详细说明 阅读全文
posted @ 2014-03-24 11:01 菁菁工作室 阅读(189) 评论(0) 推荐(0) 编辑
摘要:网上相关的资源不多,开源的且质量还不错的iOS项目也是少之又少,最近正好跟同事合作了一个iOS项目,来说说自己的一些想法。目录结构AppDelegateModelsMacroGeneralHelpersVendorsSectionsResources一个合理的目录结构首先应该是清晰的,让人一眼看上去就能大概了解目录的职责,且容易应对新的变化。AppDelegate这个目录下放的是AppDelegate.h(.m)文件,是整个应用的入口文件,所以单独拿出来。Models这个目录下放一些与数据相关的Model文件,里面大概是这样:Models |- BaseModel.h |- BaseMod.. 阅读全文
posted @ 2014-03-17 09:47 菁菁工作室 阅读(209) 评论(0) 推荐(0) 编辑
摘要:从xcode4.4开始,LLVM4.0编译器为Objective-C添加一些新的特性。创建数组NSArray,哈希表NSDictionary, 数值对象NSNumber时,可以像NSString的初始化一样简单方便。妈妈再也不担心程序写得手发酸了。有兴趣的朋友可以关注LLVM编译器的相关文档:http://clang.llvm.org/docs/ObjectiveCLiterals.html关于NSDictionary和NSNumber的例子来自:http://cocoaheads.tumblr.com/post/17757846453/objective-c-literals-for-nsd 阅读全文
posted @ 2014-03-06 13:59 菁菁工作室 阅读(392) 评论(0) 推荐(0) 编辑
摘要:首先两个方法都是异步执行。layoutSubviews方便数据计算,drawRect方便视图重绘。layoutSubviews在以下情况下会被调用: 1、init初始化不会触发layoutSubviews。2、addSubview会触发layoutSubviews。3、设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化。4、滚动一个UIScrollView会触发layoutSubviews。5、旋转Screen会触发父UIView上的layoutSubviews事件。6、改变一个UIView大小的时候也会触发父UIView上的layoutSu 阅读全文
posted @ 2014-02-24 14:35 菁菁工作室 阅读(177) 评论(0) 推荐(0) 编辑
摘要:转自:http://leeyin.iteye.com/blog/1040362每个ios开发者对loadView和viewDidLoad肯定都很熟悉,虽然这两个函数使用上真的是非常简单,但是和类似的initWithNibName/awakeFromNib/initWithCoder放在一起还是非常容易让人混淆的.昨天看了下苹果官方的相关文档以及几篇相关内容的网页(一 二 三),其实这个内容以前也看过,似乎也搞清楚了,可还是忘了.好急性不如烂笔头,这次一定要好好记下来.大前提是UIViewController有一个UIView.同时,需要厘清两个概念,创建一个类和实例化一个类.在XCode中创建 阅读全文
posted @ 2014-02-20 14:44 菁菁工作室 阅读(157) 评论(0) 推荐(0) 编辑
摘要:1.UITextField的初始化和设置 textField = [[UITextField alloc] initWithFrame:CGRectMake(120.0f, 80.0f, 150.0f, 30.0f)]; [textField setBorderStyle:UITextBorderStyleRoundedRect]; //外框类型 textField.placeholder = @"password"; //默认显示的字 textField.secureTextEntry = YES; //密码 textField.autocorrectionType = 阅读全文
posted @ 2014-02-18 14:47 菁菁工作室 阅读(153) 评论(0) 推荐(0) 编辑