`
文章列表
1、工厂方法模式(Factory Method) 工厂方法模式分为三种: 11、普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。首先看下关系图: 举例如下:(我们举一个发送邮件和短信的例子) 首先,创建二者的共同接口: [java] view plain

Xcode插件

    博客分类:
  • ios
古人云“工欲善其事必先利其器”,打造一个强大的开发环境,是立即提升自身战斗力的绝佳途径!以下是搜集的一些有力的XCode插件。   1.全能搜索家CodePilot 2.0 你要找的是文件?是文件夹?是代码?Never Mind,CMD+SHIFT+X调出CodePilot,输入任何你想到搜的东西吧!想搜 appFinishLaunchingWithOptions?忘记咋拼了?没关系强大的代码搜索能力,appflaun一样也可以找到!超级强大的正则 匹配,匹配任何你所想! 项目地址:http://codepilot.cc   2.Vim控必备的XVim XVim是一个针对 ...
使用支持AutoLayout后,在ViewDidLoad之后,系统会重新计算控件的一些值,导致上面设置的contentSize被重置为(0,0)了。 解决方案很简单:把上面的设置代码放到viewDidAppear上即可。 -(void) viewDidAppear:(BOOL)animated { self.scrollView.contentSize = CGSizeMake(445, 60); [super viewDidAppear:animated]; }

ios 静态库

    博客分类:
  • ios
ios 静态库制作过程   最 近在做Apple的IOS开发,有开发静态库的需求,本身IOS的开发,只允许静态库或者Framework。在Xcode上没有找到允许编译,如同 Android上的*.so和Win32上的dll这样的说法。不过Framework这样的框架,估计也是类似 ...

隐藏tabbar

    博客分类:
  • ios
隐藏tabbar有两种方式: 1:在pushViewController之前调用 [self setHidesBottomBarWhenPushed:YES]; 同时在viewWillDisappear调用: - (void)viewWillDisappear:(BOOL)animated {     [self setHidesBottomBarWhenPushed:NO];     [super viewDidDisappear:animated]; }   2:使用函数: - (void) hideTabBar:(BOOL) hidden{     [U ...
OS 设备现有的分辨率如下:iPhone/iPod Touch普通屏                     320*480 点       320像素 x 480像素       iPhone 1、3G、3GS,iPod Touch 1、2、33:2 Retina 屏        320*480点      640像素 x 960像素        iPhone 4、4S,iPod Touch 416:9 Retina 屏       320*568点        640像素 x 1136像素      iPhone 5,iPod Touch 5iPad普通屏              ...

iOS 7 适配

    博客分类:
  • iOS7
适配iOS7开发 SEP 28TH, 2013 iOS7可以说是苹果一次革命性的变化,这样做为一个开发者需要做的事也不少。首先苹果的view布局有所变化,现在view默认是全屏模式,而所有的 bar(navigation bar, tool bar, search bars 与scope bars都是半透明),status bar则是全透明。有了这样的改变,写代码的时候就有我们折腾的了。 本文所说的适配是指:用xcode5+iOS7sdk编译的程序能正常的运行在iOS6及以下的设备上。 首先看一个例子,用xcode5创建一个Empty Applic
   为了让我们的应用在不同尺寸的屏幕下都能 “正常”的表示,我们尽量不要把数据写死。大多数可视元素都是一个矩形区域,当然这个矩形区域有坐标的,我们有了这个区域坐标就能确定可视元素的现实位置了。但是iphone5和以前的屏幕不一样了,在以前的设备中,我们可以添加一个 xx.@2x.png来适应retina屏幕,但是iphoen5咋办呢?ios6引入了 Auto Layout的东东,这个要和UIViewAutoresizing区分下。 1.看下面代码: -(void)viewDidLoad {    [superviewDidLoad];      UIView *aView =[[U ...
Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,以优化的应用程序支持多核心处理器和其他的对称多处理系统的系统。这建立在任务并行执行的线程池模式的基础上的。它首次发布在Mac OS X 10.6 ,iOS 4及以上也可用。 设计: GCD的工作原理是:让程序平行排队的特定任务,根据可用的处理资源,安排他们在任何可用的处理器核心上执行任务。 一个任务可以是一个函数(function)或者是一个block。 GCD的底层依然是用线程实现,不过这样可以让程序员不用关注实现的细节。 GCD中的FIFO队列称为dispatch queue,它可以保证先进来的任务先得到执行 ...
for example 三个文件 文件A.h 文件B.h 文件C.h 文件C.h需要引入A.h、B.h  ,文件B.h需要引入文件A.h,这样就重复引用了A.h两次,使用#import可以进行优化 一、 Objective-C 中 #import 和 #include 的区别   预编译指令 Objective-C:#import C,C++:#include #import由gcc编译器支持 在 Objective-C 中,#import 被当成 #include 指令的改良版本来使用。除此之外,#import 确定一个文件只能被导入一次,这使你在递归包含中不 ...
1.关闭xcode; 2.进入~/Library/Developer/XCode/DerivedData目录,删除名字为 工程名+一连串字母的文件夹
MRC -> ARC :-fobjc -arc ARC -> MRC :-fno -objc -arc
   当一个对象调用autorelease时,会将此对象放到最近的一个NSAutoreleasePool实例中,当自动释放池发送drain时会遍历释放池中的autorelease对象,把每个对象都release掉。    对于每一个Runloop, 系统会隐式创建一个Autorelease pool, 这样所有的release pool会构成一个象CallStack一样的一个栈式结构,在每一个Runloop结束时,当前栈顶的Autorelease pool会被销毁,这样这个pool里的每个Object会被release。一个UI event,Timer call, delegate call, ...
Global site tag (gtag.js) - Google Analytics