linyawen

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  IOS

ios iphone 开发
摘要:转自http://www.cnblogs.com/wengzilin/archive/2012/03/13/2393985.html 1.UITextField的初始化和设置 textField = [[UITextField alloc] initWithFrame:CGRectMake(120.0f, 80.0f, 150.0f, 30.0f)]; [textField setBorderStyle:UITextBorderStyleRoundedRect]; //外框类型 textField.placeholder = @"password"; //默认显示的字 te 阅读全文
posted @ 2012-06-11 23:04 linyawen 阅读(235) 评论(0) 推荐(0)

摘要:可以在toolBar上添加任何View。其实它的原理是把你要添加的View先加到UIBarButtonItem里面,最后再把UIBarButtonItem数组一次性放到toolbar的items里面。1.首先,我们看一下UIBbarButtonItem有哪些初始化方法,这也可以看出,它可以被定义为什么东东,然后加到UIToolBar上面去。根据SDK的文档,我们可以发现UIBarButtonItem有如下几种初始化的方法:-initWithTitle(添加button用这个)-initWithImage-initWithBarButtonSystemItem(添加系统自定义的button,形状 阅读全文
posted @ 2012-06-11 23:03 linyawen 阅读(357) 评论(0) 推荐(0)

摘要:对于iphone开发人员来说,内存管理是极为重要的技巧,哪怕程序的功能再强大,设计再漂亮,如果内存控制不好,也难逃程序莫名退出的噩运,这与网页开发是完全不同的。内存控制里面有很多门道,在这里分析一下 viewDidUnload 和 dealloc 的区别,关于这两者的区别的文章很多,但是大都是摘抄和翻译官方文档,有的也只是简单的说两句,并没有详细说出两者具体的区别。在了解两者之间的区别,首先要知道view的生命周期,google 里面有很多文章,可以先去搜一下,这里就不详解了。顾名思义 viewDidUnload就是当 view 被卸载以后执行的语句,它与 viewDidLoad 是相互呼应. 阅读全文
posted @ 2012-06-11 23:01 linyawen 阅读(206) 评论(0) 推荐(1)

摘要:概念当我们使用强参照(Strong reference)时,往往需要留意循环参照的问题。循环参照指的是两个对象被互相强参照,以至于任一对象都不能释放。一般情况下,当对象之间有“父子关系”时,强参照的情况发生的比较多。比如通讯薄对象AddrBook和每个通讯录Entry的关系如下。这种情况下,由于Entry对象被AddrBook强参照,所以不能释放。另一方面,如果Entry被释放了,AddrBook对象的强参照也就没有了,其对象也应被释放。解决方式像上面的例子,当多个对象间有“父子关系”时,需要在一侧用“弱参照”来解决循环参照问题。一般情况下,“父亲”作为“孩子”的拥有者,对“孩子”是强参照,而 阅读全文
posted @ 2012-06-11 01:08 linyawen 阅读(694) 评论(0) 推荐(1)

摘要:前两节我们对 ARC(Automatic Reference Counting) 有了一个基本的理解,但是 ARC 是怎么产生的,为什么苹果要在其最新的 iOS/Mac OS X 上导入该框架? 如果不理解其背后的基本原理,只是死记硬背那些规则/方法,是毫无意义的。就像我们从小接受的填鸭式教育,基本上到后来都还给老师了。本节,我们先来看看 ARC 产生之前的 Objective-C 内存管理世界,然后再来看看导入 ARC 后,新的 LLVM 编译器在背后为我们做了什么。Objective-C 内存管理和许多面向对象语言一样,Objective-C 中内存管理的方式其实就是指引用计数(Refer 阅读全文
posted @ 2012-06-11 01:07 linyawen 阅读(405) 评论(0) 推荐(0)

摘要:上一回我们学到了一些ARC的基本概念,这一次我们来看看ARC对@property的使用规则有何影响。所有者属性我们先来看看与所有权有关系的属性,关键字间的对应关系。属性值关键字所有权strong__strong有weak__weak无unsafe_unretained__unsafe_unretained无copy__strong有assign__unsafe_unretained无retain__strong有strong该属性值对应 __strong 关键字,即该属性所声明的变量将成为对象的持有者。weak该属性对应 __weak 关键字,与 __weak 定义的变量一致,该属性所声明的变 阅读全文
posted @ 2012-06-11 01:05 linyawen 阅读(995) 评论(0) 推荐(0)

摘要:转自http://www.yifeiyang.net/development-of-the-iphone-simply-1/新年伊始,万象更新。新一年开始,我们来更加深入了解一下iPhone开发的内部。作为开始,我们先来了解一下ARC。ARC是什么ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。该机能在 iOS 5/ Mac OS X 10.7 开始导入,利用 Xcode4.2 可以使用该机能。简单地 阅读全文
posted @ 2012-06-09 15:49 linyawen 阅读(632) 评论(0) 推荐(0)

摘要:Present ViewController Modally一、主要用途 弹出模态ViewController是IOS变成中很有用的一个技术,UIKit提供的一些专门用于模态显示的ViewController,如UIImagePickerController等。弹出模态ViewController主要使用于一下这几种情形: 1、收集用户输入信息 2、临时呈现一些内容 3、临时改变工作模式 4、相应设备方向变化(用于针对不同方向分别是想两个ViewController的情况) 5、显示一个新的view层级 这几种情形都会暂时中断程序正常的执行流程,主要作用是收集或者显示一些信息。二... 阅读全文
posted @ 2012-06-09 02:19 linyawen 阅读(37161) 评论(0) 推荐(4)

摘要:https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmPractical.html#//apple_ref/doc/uid/TP40004447http://en.wikipedia.org/wiki/Reference_counting【IT168 技术文档】开发iPhone 应用程序并不难,基本上就是三个词 - “memory, memory, memory” 。iPhone OS 对内存的要求很严格,有memory leak ,杀掉;内存使用超限额,杀掉。 阅读全文
posted @ 2012-06-06 18:05 linyawen 阅读(428) 评论(0) 推荐(0)

摘要:转自http://blog.csdn.net/sjzsp/article/details/6320153ios不能像java那样对内存自动释放,只能手动释放内存,在开发过程中,程序员在谨慎可能也会造成内存泄露,大量的内存泄露会影响程序的运行。苹果为我们提供了instrument检测工具,可以方便快捷的检测出程序中的内存泄露。使用方法,在xocde中点击如下图所示的lenks:运行会出现下面界面:出现红柱就表示有内存泄露,我们可以点击堆栈,查看到哪一行代码泄露: 阅读全文
posted @ 2012-06-06 17:48 linyawen 阅读(2152) 评论(0) 推荐(0)

摘要:转自http://www.cocoachina.com/bbs/read.php?tid=28566&page=1#260251一. 环境MacBook Pro:OSX Snow leopard 10.6.2XCode3.2.3SDK4.0.1iPhone3GS:OS 4.0.1JailBreakAppSync4.x(Cydia下添加源http://sinfuliphonerepo.com)二. 安裝說明:1. 打开MacOs下的Terminalcd /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sd 阅读全文
posted @ 2012-06-06 03:17 linyawen 阅读(349) 评论(0) 推荐(0)

摘要:转自http://forum.xitek.com/thread-815365-1-1-1.html【如何注册一个免费的iTunes帐号?】如果你没准备花钱买应用软件(App),或者没有双币信用卡,你需要注册一个免费的iTunes帐号才能下载免费软件。这里有一个小秘诀,下面一步一步解释。【一】首先启动iTunes,我用目前最新版本(iTunes 10.1.0.54),以下图示在Windows上获取,苹果(MacOS X)一样。首先选择国家,默认是美国,因此用户界面也是英文。拉到最底下找到“Change Country”,点击。【二】等iTunes出来这个页面,选择相关国家。这里简单解释一下iTu 阅读全文
posted @ 2012-06-06 03:14 linyawen 阅读(5538) 评论(0) 推荐(0)

摘要:The steps that occur during the load cycle are as follows:Some part of your application asks for the view in the view controller’sviewproperty.If the view is not currently in memory, the view controller calls itsloadViewmethod.TheloadViewmethoddoes one of the following:●If you override this method, 阅读全文
posted @ 2012-06-05 21:21 linyawen 阅读(174) 评论(0) 推荐(0)

摘要:转自http://blog.sina.com.cn/s/blog_6d01cce301013h5n.html曾经有人这么说过,在iphone里你看到的,摸到的,都是UIView,所以UIView在iphone开发里具有非常重要的作用。那么UIView我们到底知道多少呢。请看看下面的问题,如果这些你都知道,那么本文章的内容就请绕道,如果你还不太清楚,我想看了下面的内容,你就明白了。1.bounds和frame分别表示什么?2.ContentMode里UIViewContentModeScaleToFill代表什么?3.contentStretch 里的指定UIView里缩放区域是如何计算的?4. 阅读全文
posted @ 2012-06-05 02:42 linyawen 阅读(336) 评论(0) 推荐(1)

摘要:转自http://blog.csdn.net/koupoo/article/details/6455289添加MessageUI.framework#import <MessageUI/MessageUI.h>MFMailComposeViewControllerDelegate代码如下:#pragmamark-#pragmamarkMFMailComposeViewController-(void)alertWithTitle:(NSString*)_title_ msg:(NSString*)msg{UIAlertView*alert=[[UIAlertViewalloc]in 阅读全文
posted @ 2012-06-03 13:00 linyawen 阅读(357) 评论(0) 推荐(0)

摘要:一直对这个没有什么问题,反正就是疯狂的release。但今天发现原来模拟器可以模拟内存不足时的情况,这使我的程序发生了一些错误,同时也让我对这两家伙了解更多。viewDidUnload这个只在内存不足时执行,而且是对所有非当前显示的controller执行。你可以通过模拟器执行:硬件》模拟内存警告 来触发。当己经执行viewDidUnload的controller重新显示时,会重新执行viewDidLoad。比如A push B》引发内存警告(A自动执行viewDidUnload)》pop B(这时A重新执行viewDidLoad)。dealloc当对像被销毁时执行。比如:A a=[[A al 阅读全文
posted @ 2012-06-03 12:57 linyawen 阅读(2941) 评论(0) 推荐(1)

摘要:因为看的资料比较杂,一直很迷惑这个,今天花了点时间整理一下思路比如下面的一些写法,不同的教程都不一样:self.test=abc;test=abc;[test release];[self.test release];self.test=nil;总结下:@property(nonatomic,retain) NSString*test;@synthesizetest1,这个操作在新版的xcode等于同时声名了成员变量test,并生成其getter\setter方法。2,@property的retain等参数只是告诉编译器怎么生成(当初我理解成test和self.test是两个不同的指针)。3, 阅读全文
posted @ 2012-06-03 12:49 linyawen 阅读(1150) 评论(0) 推荐(0)

摘要:第十五章 文件加载与保存标准的C函数库提供了函数调用来创建、读取和写入文件,例如open()、read()、write()、fopen()、fread()等。Cocoa提供了Core Data,他能在后台处理所有文件内容,这些都不再讨论。那么,我们还需要做什么呢?Cocoa提供了两个通用的文件处理类:属性列表和对象编码。15.1 属性列表在Cocoa中,有一类名为属性列表的对象,常简写为plist。这些列表包含Cocoa知道如何操作的一组对象。具体来讲,Cocoa知道如何将他们保存到文件中进行加载。属性列表类包括NSArray、NSDictionary、NSString、NSNumber、NS 阅读全文
posted @ 2012-05-30 17:27 linyawen 阅读(2096) 评论(0) 推荐(0)

摘要:随时记录一些Mac 虚拟机下进行 ios 开发的奇怪问题:1,编译,更改别人的项目时 可能遇到code signing 问题:解决 : 可能是别人在真机上测试,项目工程里包含了代码身份签名,我们只要在我们的 project ->edit project settings 把 any iPhone OS Device 设置成 don't code sign 即可。2,Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1.查看了详细 阅读全文
posted @ 2012-05-30 12:31 linyawen 阅读(1028) 评论(0) 推荐(0)

摘要:为了纪念那逝去的岁月,为了纪念我的辛劳,我将我当初编译tool chains的笔记呈现于此,以及将Tetris的代码push进github:https://github.com/alexunder/iphonedev,不求能对别人有所帮助,但求对得起自己。废话不说了。编译的环境的构建Foreword如果要编译可以在iphone上运行的程序,我们可以有两种选择:使用MAC系统,即是当前的Mac OS X Leopard系统,然后下载iphone sdk。此方法不适合我等geek之辈,装MAC得费不少功夫,虽说这个方法是开发iphone软件的官方推荐方法,但是至少不适合我。开源工具链。这是极为牛逼 阅读全文
posted @ 2012-05-30 11:01 linyawen 阅读(1336) 评论(0) 推荐(0)