- 浏览: 45029 次
- 性别:
- 来自: 无锡
最新评论
文章列表
最近由于项目的需要,需要提高项目中数据的入库性能,通过优化,发现入库方法不同,效率真的差距很大。
最初代码如下,直接执行sql语句,外加事务提升性能:
SQLiteDatabase database = new SQLiteDatabase();
if (database.isOpen())
{
database.beginTransaction();
try {
//sql为insert into tableName (name) values ("test")
database.execSQL(sql);
...
首先添加UITextFieldDelegate,然后textFiled.delegate = self;下面就是实现UITextFieldDelegate的两个方法了,如下:
//编辑前调整
- (void)textFieldDidBeginEditing:(UITextField *)textField{
CGRect r = [textField convertRect:textField.frame toView:appDelegate.window];//将textField坐标系转换成整个屏幕的坐标系
CGFloat y = 0.0;
CGFloat ...
http://unmi.cc/nszombieenabled-locate-exc_bad_access-error, 来自 隔叶黄莺 Unmi Blog
我们做 iOS 程序开发时经常用遇到 EXC_BAD_ACCESS 错误导致 Crash,出现这种错误时一般 Xcode 不会给我们太多的信息来定位错误来源,只是在应用 Delegate 上留下像 Thread 1: Program received signal: "EXC_BAD_ACCESS",让问题无从找起。
比如你对已释放的对象发送消息时就会出现,EXC_BAD_ACCESS,再如 release 的对象再 ...
例如 每个UITableViewCell里有个UITextField,当UITextField获得焦点时不会触发tableview的didSelectRowAtIndexPath方法,就不能知道触发是哪个cell,下面方法可以获得UITextField所在行的indexPath,方法很简单,注意两种方式。
如果是将textField添加在cell.contentView上:
//获得row
NSInteger row = [[self.tableView indexPathForCell:(UITableViewCell *)[[sender superview] superview]] ...
常常我们在做界面的时候会用到文本框输入,但当把输入文本框放的过于低,就会导致在填写信息的时候弹出的虚拟键盘遮盖输入文本框,导致看不见所输入的信息,这对于用户体验当然很不好,所以我们需要改进这一情况,方法大致就是在点击输入文本框准备输入的时候,使得文本框上移到用户能看见的地方。这方法是网上资料,或许还有别的更好的解决方法,希望大家都能发出来。
比如如下的UIViewController有一个UITextField对象
@interface MyViewController : UIViewController <UITextFieldDelegate>
{
UITextF ...
最近项目用到了从服务器获取xml文件,需要解析xml来获取数据,下面简单举个例子,以便自己以后学习并复习。另外http://www.w3school.com.cn/xpath/xpath_examples.asp上有一些例子,有兴趣的同学可以去看看xml的相关知识。
从服务器上下载的xml文件:
<?xml version="1.0" encoding="utf-8"?>
<page>
<ROWSET>
<ROW num="1"><!-- 订单1 -->
...
以下是一些SQLite3的基本操作,主要是写给自己温习,同时也希望能帮到像我一样的新手!
注意:要在工程中的Frameworks中导入相应的libsqlite3.dylib文件,也许在相应的目录下存在多个以libsqlite3开头的文件,务必选择libsqlite3.dylib,它始终指向最新版的SQLite3库的别名。
打开数据库:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDire ...
原文见:http://www.cnblogs.com/dotey/archive/2011/05/10/2041966.html
官方网站:http://allseeing-i.com/ASIHTTPRequest/ 。可以从上面下载到最新源码,以及获取到相关的资料。
使用iOS SDK中的HTTP网络请求API,相当的复杂,调用很繁琐,ASIHTTPRequest就是一个对CFNetwork API进行了封装,并且使用起来非常简单的一套API,用Objective-C编写,可以很好的应用在Mac OS X系统和iOS平台的应用程序中。ASIHTTPRequest适用于基本的HTTP请求,和 ...
ASIHTTPRequest 一款强大的HTTP包装开源项目
ASIHTTPRequest是什么?
官方地址:http://allseeing-i.com/ASIHTTPRequest/
ASIHTTPRequest是简单易用的,它封装了CFNetwork API。使得与Web服务器通信变得更简单。它是用Objective-C编写的,可以在MAC OS X和iPhone应用中使用。
它适用于执行基本的HTTP请求和互动(或者说是反馈)。ASIFormDataRequest子类可以简单的实现提交数据和文件。使用multipart/form-data
提供了以下:
一个从web服务器提交和 ...
本文引用自vincent《iphone 网络编程总结》
一:确认网络环境3G/WIFI
1. 添加源文件和framework
开发Web等网络应用程序的时候,需要确认网络环境,连接情况等信息。如果没有处理它们,是不会通过Apple的审(我们的)查的。
Apple 的 例程 Reachability 中介绍了取得/检测网络状态的方法。要在应用程序程序中使用Reachability,首先要完成如下两部:
1.1. 添加源文件:
在你的程序中使用 Reachability 只须将该例程中的 Reachability.h 和 Reacha ...
以下是开发初期收集整理的一点资料,简单实用,都是网络上收集的,若侵犯您的权益,请告知,本人将及时删除相关内容。
多线程之NSInvocationOperation
多线程编程是防止主线程堵塞,增加运行效率等等的最佳方法。而原始的多 ...
关于所有权
所有权是iPhone内存管理的核心思想,对象的所有者负责在使用完对象后进行释放。一个对象可以有多个所有者,当它没有所有者时将被设置为取消分配(deallocation)。
创建对象时,所有权通过alloc、new、或者copy的方 ...
copy 和 retain 的区别
copy: 建立一个索引计数为1的对象,然后释放旧对象
retain:释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为1
那上面的是什么该死的意思呢?
Copy其实是建立了一个相同的对象,而retain不是:
比如一个NSString对象,地址为0×1111,内容为@”STR”
Copy到另外一个NSString之后,地址为0×2222,内容相同,新的对象retain为1,旧有对象没有变化
retain到另外一个NSString之后,地址相同(建立一个指针,指针拷贝),内容当 ...