摘要:
UITextView 边框的设置 设置光标的位置导入QuartzCote框架:#importtextView.layer.borderColor= [UIColorgrayColor].CGColor;textView.layer.borderWidth=1.0;textView.layer.co...
阅读全文
posted @ 2013-06-19 00:51
ygm900
阅读(9680)
推荐(0)
摘要:
//初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)];//设置边框样式,只有设置了才会显示边框样式 text.borderStyle = UITextBorderStyleRoundedRect;typedef enum { UITextBorderStyleNone, UITextBorderStyleLine, UITextBorderStyleBezel, UITextBorderStyleRoundedRect } UI...
阅读全文
posted @ 2013-06-18 23:16
ygm900
阅读(272)
推荐(0)
摘要:
在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢?谢谢!1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select*from peoplewhere peopleIdin (select peopleIdfrom peoplegroupby peopleIdhavingcount(peopleId)>1)2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录deletefrom peoplewhere peopleIdin (select peopleIdfrom peoplegroup
阅读全文
posted @ 2013-06-18 21:47
ygm900
阅读(203)
推荐(0)
摘要:
extern NSString* const kCTSMSMessageReceivedNotification;extern NSString* const kCTSMSMessageReplaceReceivedNotification;extern NSString* const kCTSIMSupportSIMStatusNotInserted;extern NSString* const kCTSIMSupportSIMStatusReady; typedef struct __CTCall CTCall;extern NSString *CTCallCopyAddress(void
阅读全文
posted @ 2013-06-18 11:44
ygm900
阅读(553)
推荐(0)
摘要:
在程序中调用系统自带的应用,比如我进入程序的时候,希望直接调用safar来打开一个网页,下面是一个简单的使用:- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; self.viewController = [[[ViewControl...
阅读全文
posted @ 2013-06-14 10:46
ygm900
阅读(798)
推荐(0)
摘要:
当我们的uitableview为透明或者判断cell是否为空时,会发现uitableveiwcell会出现重叠,下面为自己的解决办法,提供给各位参考-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ UITableViewCell *cell=nil; static NSString *reuse=@"cell"; if (cell==nil) { cell=[[[UITableViewCell alloc] initWi
阅读全文
posted @ 2013-06-13 18:26
ygm900
阅读(1000)
推荐(0)
摘要:
在使用TableView的时候,下面一段代码是必须的,也是最标准的:[cpp] view plaincopyprint?- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CMainCell = @"CMainCell"; // 0 UITableViewCell *cell = [tableView dequeueReusableCellWithId...
阅读全文
posted @ 2013-06-13 18:15
ygm900
阅读(20511)
推荐(0)
摘要:
Assertion failure in -[UITableView _configureCellForDisplay:forIndexPath:]今天做一个tableView遇到一个这么个问题。经过baidu google,终于找到正解。因为- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath这个函数的返回值是个null!!查stackoverflow 找到下面的解。CellIdentifier I bet your cellForR...
阅读全文
posted @ 2013-06-13 18:08
ygm900
阅读(44111)
推荐(2)
摘要:
在返回按钮中,释放内存:-(IBAction)btnBack:(id)sender{ if ([self.str_superViewName isEqualToString:@"ShakeViewController"]) { [configData setObject:@"YES" forKey:@"isShake"]; } //移出两个比较大的重要的子页面 [self.uisv_scrollView0 removeFromSuperview]; [self.scrView removeFromSuperview]; //移出所有子
阅读全文
posted @ 2013-06-09 11:31
ygm900
阅读(386)
推荐(1)
摘要:
NSArray *views = [self.view subviews]; for (id obj in views) { NSLog(@"obj class === %@",[obj class]); [obj removeFromSuperview]; }
阅读全文
posted @ 2013-06-09 11:24
ygm900
阅读(160)
推荐(0)
摘要:
PrefaceI don’t normally post highly technical stuff to my blog, but here’s an exception that I hope will benefit the Mac and iOS (iPhone & iPad) developer community. So if you’re not part of that, feel free to skip it.IntroductionThis article is a cumulative list of the most commonly-violated be
阅读全文
posted @ 2013-06-08 18:15
ygm900
阅读(258)
推荐(0)
摘要:
在进行开发时,最常遇到的就是相同的功能,会在不同的地方用到。用 .Net 开发的话,就会将程序包装成 dll,直接在要使用的项目上加入参考即可。在开发 iOS 其实也是有方法可以做到的下面的步骤,会先建立一个 Cocoa Touch Static Library 的项目建立 Static Library,然后再建立一个 Single View Application 的项目来使用建立好的 Library 来进行测试步骤如下:一、建立Cocoa Touch Static Library项目1. 开启 Xcode ,选择 Framework & Library,建立一个 Cocoa Tou
阅读全文
posted @ 2013-06-08 17:59
ygm900
阅读(1728)
推荐(0)
摘要:
在iOS开发中,为了节约时间,程序员经常会用全局变量代替属性。但是这样做,尤其是新手开发中,经常会引起内存泄露的报错,其实作为苹果自己也没有给出一个完美安全的内存管理代码例子。但是在iOS开发到如今,有一个相对比较安全的内存管理模版。 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. CGRect fram=[UIScreen mainScreen].bounds; UIView *...
阅读全文
posted @ 2013-06-08 17:55
ygm900
阅读(1853)
推荐(0)
摘要:
我们在项目中,有时需要一些全局变量存储一些基本信息,那么这些全局的变量内存又是如何管理的呢?下面是网友分享的经验,具体的网址我记不清了,我在这里直接拿过来放到我的博客了,在此向写本文的作者致敬!正是由于众多具有开源精神的网友,技术才能更好的传播! 项目中有时需要一些全局变量存储应用程序运行过程中的一直存在的信息,翻看了一些资料,决定使用Apple官方文档推荐的Signaleton模式,使用过程很顺利,但是随之而来的是关于内存管理的考虑,官方文档的示例代码如下: static MyGizmoClass *sharedGizmoManager = nil; + (MyGizmoClass*)sha
阅读全文
posted @ 2013-06-06 15:07
ygm900
阅读(311)
推荐(0)
摘要:
一、前言 对于大多数从C++或者JAVA转过来学习Object-C(以下简称OC)的人来说,OC这门语言看起来非常奇怪,用起来也有点麻烦。 OC没有像JAVA一样的垃圾回收机制,也就是说,OC编程需要程序员手动去管理内存。这就是为什么它烦的原因,苹果却一直推崇开发者在有限硬件资源内写出最优化的代码,使用CPU最少,占用内存最小。二、基本原理对象的创建: OC在创建对象时,不会直接返回该对象,而是返回一个指向对象的指针,因此出来基本类型以外,我们在OC中基本上都在使用指针。 ClassA *a = [[ClassA alloc] init]; 在[ClassA alloc]的时候,已经发送消息通
阅读全文
posted @ 2013-06-05 16:26
ygm900
阅读(253)
推荐(0)
摘要:
很多童鞋对于IOS中的内存管理处理的不好,有时候感觉自己已经掌握了,其实用起来的时候往往出现很多的内存泄露或者因为内存管理的不恰当导致程序崩溃!网上有一片很详细的内存管理文章,很多人估计嫌长,不愿意去看,我就写一个简单易懂的分享。我分四块来讲解,这篇文章比较简单,因为我不想把你们搞晕,其实总的来说就一个原则!一、IOS内存管理的机制IOS中没有垃圾回收机制(IOS5中好像已经有了,但是目前还不太实用),所以基本一切都是自己手动管理。IOS中采用引用计数的内存管理方式,啥意思呢?讲的通俗点就是说一块内存地址是否应该被释放是又retaincount来决定的,如果这块内存地址的retaincoun.
阅读全文
posted @ 2013-06-05 15:13
ygm900
阅读(1045)
推荐(1)
摘要:
Objective-C提供了三种内存管理方式:manual retain-release(MRR,手动管理),automatic reference counting(ARC,自动引用计数),garbage collection(垃圾回收)。iOS不支持垃圾回收;ARC作为苹果新提供的技术,苹果推荐开发者使用ARC技术来管理内存;这篇笔记主要讲的是手动管理。内存管理的目的是:1.不要释放或者覆盖还在使用的内存,这会引起程序崩溃;2.释放不再使用的内存,防止内存泄露。iOS程序的内存资源是宝贵的。MRR手动管理内存也是基于引用计数的,只是需要开发者发消息给某块内存(或者说是对象)来改变这块内存的
阅读全文
posted @ 2013-06-05 15:08
ygm900
阅读(236)
推荐(1)
摘要:
iOS开发UIViewController内存管理是本文要介绍的内容,在iOS3.0 后,UIViewController多了一个叫做 viewDidUnLoad 的方法。不少人都不清楚这个方法的具体意义,苹果的文档也就一句 ”Called when the controller’s view is released from memory” 简单的解释了下,并要求你把 IBOutlet 绑定的视图给清空,为什么呢? 先看下UIViewController从创建 view 到展示的流程的几个函数 -initWithNibName:bundle: 这两个方法都是初始化一个 vc,但请注意...
阅读全文
posted @ 2013-06-05 15:04
ygm900
阅读(196)
推荐(0)
摘要:
1. 内总管理原则(引用计数) IOS的对象都继承于NSObject, 该对象有一个方法:retainCount ,内存引用计数。 引用计数在很多技术都用到: window下的COM组件,多线程的信号量,读写锁,思想都一样。 (一般情况下: 后面会讨论例外情况) alloc 对象分配后引用计数为1 retain 对象的引用计数+1 copy copy 一个对象变成新的对象(新内存地址) 引用计数为1 原来对象计数不变 release 对象引用计数-1 如果为0释放内存 autorelease 对象引用计数-1 如果为0不马上释放,最近一个个pool时释...
阅读全文
posted @ 2013-06-05 15:00
ygm900
阅读(215)
推荐(0)
摘要:
转:http://www.raywenderlich.com/zh-hans/30863/ios应用崩溃日志揭秘2
阅读全文
posted @ 2013-06-05 11:49
ygm900
阅读(183)
推荐(0)
摘要:
ARC是什么ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。该机制在 iOS 5/ Mac OS X 10.7 开始导入,利用 Xcode4.2 可以使用该机制。简单地理解ARC,就是通过指定的语法,让编译器(LLVM3.0)在编译代码时,自动生成实例的引用计数管理部分代码。有一点,ARC并不是GC,它只是一种代码静态分析(Static Analyzer)工具。那么在xCode中经常需要导入一些外来的
阅读全文
posted @ 2013-06-05 00:59
ygm900
阅读(1903)
推荐(0)
摘要:
参考:Finding iPhone Memory Leaks: A “Leaks” Tool Tutorial http://www.189works.com/article-104512-1.html 上面文章的翻译http://blog.csdn.net/cloudhsu/article/details/5754818 [IPhone]如何使用Leak检查内存泄漏
阅读全文
posted @ 2013-06-05 00:29
ygm900
阅读(220)
推荐(0)
摘要:
使僵尸对象可用引起的问题疑问:为ios 工程 勾选“enable zombie objects” 时,应用程序报错 *** -[UIImage release]: message sent to deallocated instance 0x20856fa0当不为ios 工程勾选“enable zombie objects” 时,应用程序可以正常运行,没问题。
阅读全文
posted @ 2013-06-04 23:54
ygm900
阅读(1956)
推荐(0)
摘要:
转:http://iwater.me/archives/52
阅读全文
posted @ 2013-06-04 22:39
ygm900
阅读(201)
推荐(0)
摘要:
对于iphone开发人员来说,内存管理是极为重要的技巧,哪怕程序的功能再强大,设计再漂亮,如果内存控制不好,也难逃程序莫名退出的噩运,这与网页开发是完全不同的。内存控制里面有很多门道,在这里分析一下 viewDidUnload 和 dealloc 的区别,关于这两者的区别的文章很多,但是大都是摘抄和翻译官方文档,有的也只是简单的说两句,并没有详细说出两者具体的区别。在了解两者之间的区别,首先要知道view的生命周期,google 里面有很多文章,可以先去搜一下,这里就不详解了。顾名思义 viewDidUnload就是当 view 被卸载以后执行的语句,它与 viewDidLoad 是相互呼应.
阅读全文
posted @ 2013-06-04 22:07
ygm900
阅读(216)
推荐(0)
摘要:
UIKit中有一些类可以用来操纵单个图像,还有一个图像类可以用来显示图像。Apple还提供了一种特殊的导航控制器,用于从图像库中选择图像。UIImage类对图像及其底层数据进行封装。它可以直接绘制在一个视图内,或者作为一个图像容器在另一个更大的图像视图容器中使用。这个类类提供的方法可以用来从各种来源...
阅读全文
posted @ 2013-06-04 21:37
ygm900
阅读(23680)
推荐(1)
摘要:
iPhone应用程序是由主函数main启动,它负责调用UIApplicationMain函数,该函数的形式如下所示:int UIApplicationMain (int argc,char *argv[],NSString *principalClassName,NSString *delegateClassName);那么UIApplicationMain函数到底做了哪些事情呢?这个函数主要负责三件 事情:1)从给定的类名初始化应用程序对象,也就是初始化UIApplication或者子类对象的一个实例,如果你在这里给定的是nil,那么系统会默认UIApplication类,也就主要是这个类来
阅读全文
posted @ 2013-06-04 21:28
ygm900
阅读(289)
推荐(0)
posted @ 2013-06-04 16:50
ygm900
阅读(186)
推荐(0)
摘要:
最近老是受iphone内存问题的困扰,找了些资料,现在贴出了两篇经典的博文。博文如下:转载自:http://blog.csdn.net/hj2060/article/details/6925926最近做一个写真书,由于加载大量的图片,内存溢出,程序崩溃,却不报任何错误或者警告。 用xcode的instrument工具查看内存使用情况时,发现程序使用内存情况很稳定维持在1.3M左右,也没有内存泄漏。那么问题来了,程序无故退出肯定是内存溢出了,而instrument并显示没有溢出(一般单个程序内存消耗唯20M左右会发警告,30M程序崩溃退出)。所以一直在想是不是哪个地方忘记释放内存了,经过仔细检查
阅读全文
posted @ 2013-06-04 15:14
ygm900
阅读(481)
推荐(0)
摘要:
在重构代码时,认真处理一些内存未释放的问题。看到自已的目录树图标的加载,好象没有释放内存,于是,将下面的代码做修改: if(isExpand) { cell.directoryAccessoryImageView.image = [UIImage imageNamed:@"TriangleSmall2.png"]; } else { cell.directoryAccessoryImageView.image = [UIImage imageNamed:@"TriangleSmal...
阅读全文
posted @ 2013-06-04 14:05
ygm900
阅读(203)
推荐(0)
摘要:
Objective-C中调用函数的方法是“消息传递”,这个和普通的函数调用的区别是,你可以随时对一个对象传递任何消息,而不需要在编译的时候声明这些方法。所以Objective-C可以在runtime的时候传递人和消息。 首先介绍两个方法 SEL和@selector根据AppleObjective-C Runtime Reference官方文档这个传递消息的函数就是 id objc_msgSend(id theReceiver, SEL theSelector, …)theReceiver是接受消息的对象类型是id,theSelector是消息名称类型是SEL。下边代码我们来看看如何来生成一个S
阅读全文
posted @ 2013-06-03 16:15
ygm900
阅读(264)
推荐(0)
摘要:
在ios第一版中,我们为输出口同时声明了属性和底层实例变量,那时,属性是oc语言的一个新的机制,并且要求你必须声明与之对应的实例变量,例如:@interface MyViewController :UIViewController{UIButton *myButton;}@property (nonatomic, retain) UIButton *myButton;@end最近,苹果将默认编译器从GCC转换为LLVM(low level virtual machine),从此不再需要为属性声明实例变量了。如果LLVM发现一个没有匹配实例变量的属性,它将自动创建一个以下划线开头的实例变量。因此
阅读全文
posted @ 2013-06-03 13:56
ygm900
阅读(577)
推荐(0)
摘要:
对于iphone开发人员来说,内存管理是极为重要的技巧,哪怕程序的功能再强大,设计再漂亮,如果内存控制不好,也难逃程序莫名退出的噩运,这与网页开发是完全不同的。内存控制里面有很多门道,在这里分析一下 viewDidUnload 和 dealloc 的区别,关于这两者的区别的文章很多,但是大都是摘抄和翻译官方文档,有的也只是简单的说两句,并没有详细说出两者具体的区别。在了解两者之间的区别,首先要知道view的生命周期,google 里面有很多文章,可以先去搜一下,这里就不详解了。顾名思义 viewDidUnload就是当 view 被卸载以后执行的语句,它与 viewDidLoad 是相互呼应.
阅读全文
posted @ 2013-06-03 13:30
ygm900
阅读(205)
推荐(0)
摘要:
1、针对自己自定义的类:直接小写第一个字母EventTableViewCell *eventTableViewCell; 2、针对苹果类库中的类 1)去头后小写第一个字母CLLocationManager *locationManager;NSManagedObjectContext *managedObjectContext; 2)用对象的用途名称+类名的核心进行命名NSMutableArray *eventsArray; //events + ArrayUIBarButtonItem *addButton; //add + Button参考代码:官方例子 ...
阅读全文
posted @ 2013-06-03 11:55
ygm900
阅读(628)
推荐(0)
摘要:
1.import会包含这个类的所有信息,包括实体变量和方法,而@class只是告诉编译器,其后面声明的名称是类的名称,至于这些类是如何定义的,暂时不用考虑,后面会再告诉你。2.在头文件中, 一般只需要知道被引用的类的名称就可以了。 不需要知道其内部的实体变量和方法,所以在头文件中一般使用@class来声明这个名称是类的名称。 而在实现类里面,因为会用到这个引用类的内部的实体变量和方法,所以需要使用#import来包含这个被引用类的头文件。3.在编译效率方面考虑,如果你有100个头文件都#import了同一个头文件,或者这些文件是依次引用的,如A–>B, B–>C, C–>D这
阅读全文
posted @ 2013-06-03 11:43
ygm900
阅读(334)
推荐(0)
摘要:
CGFloat tvheight = MIN(CELL_HEIGHT*rowCount, 360.0f);
阅读全文
posted @ 2013-06-03 11:20
ygm900
阅读(334)
推荐(0)
摘要:
iOS 内存管理,我们需要一套切实可行的实践指导书,而不是理论指导书苹果官网的例子代码是否能够给我们带来启发呢?
阅读全文
posted @ 2013-06-03 08:53
ygm900
阅读(159)
推荐(0)
摘要:
iPhone SDK示例代码http://www.cocoadev.cn/iPhone-iPad/iPhone-sdk-sample-code-20100306.aspiPhone SDK新手必读写Log在Xcode里,点菜单Run > Console 就可以看到NSLog的记录.NSLog(@"log: %@ ", myString);NSLog(@"log: %f ", myFloat);NSLog(@"log: %i ", myInt); 图片显示不需要UI资源绑定,在屏幕任意处显示图片。 下面的代码可以被用到任意 Vie
阅读全文
posted @ 2013-06-01 00:18
ygm900
阅读(267)
推荐(0)
摘要:
http://my.oschina.net/jeans/blog?catalog=191644
阅读全文
posted @ 2013-05-31 23:58
ygm900
阅读(149)
推荐(0)
摘要:
参考:http://www.cocoachina.com/bbs/read.php?tid-6209.html
阅读全文
posted @ 2013-05-31 18:29
ygm900
阅读(154)
推荐(0)