摘要: loadview:// 有没有nib 只要是复写了loadview loadview都会被执行 有nib文件的话加载的是nib文件的view 没有的话会按照loadview里的代码加载也就是说程序先会执行loadview方法,然后再去加载nib文件。UIViewController类或其子类会在初始化时创建一个UIView对象,会作为控制器的默认视图显示出来,可以通过self.view寻址访问。但没有调用loadView方法时,self.view=nil。loadView 在每一次使用self.view这个property,并且self.view为nil的时候被调用,用以产生一个有效的self 阅读全文
posted @ 2014-02-18 22:32 ymonke 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 这两天利用晚上时间简单的了解了一下python语言,在Mac上和Windows上都安装了python,对比两个平台,还是发现在mac上体验比较好一点。安装的版本好像也不一样,语法还有点小区别。简单的对照教程编了几个程序发现问题还是蛮多的,python对格式的要求非常严格,和平时接触的C语言或者OC都有点差别:代码块是不需要使用大括号来括起来的。if,while等等的条件是不需要使用小括号括起来的。但是控制语句都需要添加一个冒号“:”。这两晚首先把python basics:阅读了一遍,了解了python基本语法和书写格式,一开始还是有些不适应的。在调试python basic中的代码的时候出现 阅读全文
posted @ 2014-01-20 09:55 ymonke 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 原文地址:Ben 译文地址:伯乐在线如果你去到一位熟练的木匠的工作室,你总是能发现他/她有一堆工具来完成不同的任务。软件开发同样如此。你可以从软件开发者如何使用工具中看出他水准如何。有经验的开发者精于使用工具。对你目前所使用的工具不断研究,同时了解一些替代品的使用,当你目前所用的工具无法满足你的需要时可以填补空缺。记住了这些,我将向你展示一份关于各种工具的长长的列表。其中一些我每天都用,其他的我看情况使用。如果你还有更多的工具想展示在这个列表里,可以跟我留言哦亲。我尽我所能给列表分分类。有一些是网站,有些是后台服务,但大多数是你可以装的应用。不是所有应用都是免费,因此我会用$符号来表示此应用是 阅读全文
posted @ 2014-01-10 18:17 ymonke 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 一、概述:有一些对象我们只需要一个,比方说:线程池(threadpool)、缓存(cache)、对话框、处理偏好设置和注册表对象、日志对象、充当打印机、显卡等设备的驱动程序的对象。事实上这些对象只需要一个实例,如果制造出多个实例就会导致很多问题发生。(利用静态类变量、静态方法和适当的访问修饰符的确也可以做到只存在一个实例。)苏格拉底诱导式回答:(参考《Head First 设计模式》)如何创建一个对象?new MyObject()万一另外一个对象想创Myobject会怎样?可以再次new MyObject吗?是的,当然可以。所以一旦有一个类,我们是否都能多次的实例化它?如果是公开的类 就可以如 阅读全文
posted @ 2014-01-10 14:18 ymonke 阅读(780) 评论(0) 推荐(1) 编辑
摘要: 并发指的是在同一时间运行多个任务。在单核CPU的情况下,它通过分时的方式实现,如果有多个CPU可用,则是真正意义上的多个任务“并行”执行了。OS X和iOS提供了多个API支持并发编程。每个API都有自己特殊的功能和限制,适用于完成不同的任务。它们也分布在不同的抽象层次,我们可以通过底层API去做些非常接近硬件的底层操作,但这样的话,我们也需要做更多的事去保证一切运行正常。并发编程是件非常棘手的事,有着许多复杂的问题和陷阱,而且在使用像GCD或NSOperationQueue这样的API时我们常常忘了这点。这篇文章将首先总体介绍OS X和iOS中不同的并发编程API,然后更深入地研究并发编程本 阅读全文
posted @ 2014-01-09 16:23 ymonke 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 1 什么是blockiOS SDK 4.0开始,Apple引入了block这一特性。字面上说,block就是一个代码块,但是它的神奇之处在于在内联(inline)执行的时候(这和C++很像)还可以传递参数。同时block本身也可以被作为参数在方法和函数间传递,这就给予了block无限的可能。 对于闭包(block),有很多定义,其中闭包就是能够读取其它函数内部变量的函数,这个定义即接近本质又较好理解。对于刚接触Block的同学,会觉得有些绕,因为我们习惯写这样的程序main(){ funA();} funA(){funB();} funB(){.....}; 就是函数main调用函数... 阅读全文
posted @ 2014-01-08 20:46 ymonke 阅读(2481) 评论(0) 推荐(0) 编辑
摘要: 1、Objective-C 为 ANSI C 添加了下述语法和功能:定义新的类类和实例方法方法调用(称为发消息)属性声明(以及通过它们自动合成存取方法)静态和动态类型化块 (block),已封装的、可在任何时候执行的多段代码基本语言的扩展,例如协议和类别2、在@interface指令和@end指令之间,编写属性和方法的声明。这些声明组成了类的公共接口。分号标记每个属性和方法声明的结尾。如果类具有与其公共接口相关的自定函数、常量或数据类型,请将它们的声明放在@interface...@end块之外。3、可以将方法想像成一个规范特定对象的函数,可能会有所帮助。通过将一则消息发送到——或发消息给—— 阅读全文
posted @ 2014-01-03 13:57 ymonke 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 以前一直听说过Github,但是自己一直不会用。最近不是太忙,于是想捣鼓捣鼓Github,没想到用了将近3个小时,才在Mac上配置成功。首先简单介绍一下Git和Github集中化的版本控制系统( Centralized Version Control Systems,简称 CVCS )。这类系统,诸如 CVS,Subversion 以及 Perforce 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法。分布式版本控制系统( Distributed Version Con 阅读全文
posted @ 2013-12-25 16:30 ymonke 阅读(4501) 评论(0) 推荐(1) 编辑
摘要: 线程是单个应用中可以并发执行多个代码路径的多种技术之一。虽然更新的技术如操作对象(Operation)和Grand Central Dispatch(GCD),提供一个等价现代化和高效的基础设施来实现多核并发,但是Mac OS 和IOS也提供一套接口来创建和管理线程。第一章:关于多线程编程 处理器已经达到瓶颈限制,所以芯片开始转向多核,这就是为什么要多核并发。1.1 什么是多线程多线程是一个比较轻量级的方法来实现单个应用程序多个代码执行路径。在非并发程序中,只有一个执行程序,该线程开始和结束与你应用程序的main循环。一个个方法和函数的分支构成了你整个应用程序的所有行为。与此相反,支... 阅读全文
posted @ 2013-12-24 16:39 ymonke 阅读(436) 评论(0) 推荐(0) 编辑
摘要: 一、概述 观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。 一个软件系统常常要求在某一个对象的状态发生变化的时候,某些其它的对象做出相应的改变。做到这一点的设计方案有很多,但是为了使系统能够易于复用,应该选择低耦合度的设计方案。减少对象之间的耦合有利于系统的复用,但是同时设计师需要使这... 阅读全文
posted @ 2013-12-23 19:04 ymonke 阅读(789) 评论(0) 推荐(0) 编辑