SQLite是一个开源的嵌入式关系数据库,它在2000年由D. Richard Hipp发布,它的减少应用程序管理数据的开销,SQLite可移植性好,很容易使用,很小,高效而且可靠。
SQLite嵌入到使用它的应用程序中,它们共用相同的进程空间,而不是单独的一个进程。从外部看,它并不像一个RDBMS,但在进程内部,它却是完整的,自包含的数据库引擎。
嵌入式数据库的一大好处就是在你的程序内部不需要网络配置,也不需要管理。因为客户端和服务器在同一进程空间运行。SQLite 的数据库权限只依赖于文件系统,没有用户帐户的概念。SQLite 有数据库级锁定,没有网络服务器。它需要的内存,其它开销很小,适...
阅读全文
SQLite是一个开源的嵌入式关系数据库,它在2000年由D. Richard Hipp发布,它的减少应用程序管理数据的开销,SQLite可移植性好,很容易使用,很小,高效而且可靠。
SQLite嵌入到使用它的应用程序中,它们共用相同的进程空间,而不是单独的一个进程。从外部看,它并不像一个RDBMS,但在进程内部,它却是完整的,自包含的数据库引擎。
嵌入式数据库的一大好处就是在你的程序内部不需要网络配置,也不需要管理。因为客户端和服务器在同一进程空间运行。SQLite 的数据库权限只依赖于文件系统,没有用户帐户的概念。SQLite 有数据库级锁定,没有网络服务器。它需要的内存,其它开销很小,适...
阅读全文
objective-c for Java程序员 第一部分
对象和基本类型 Java包含了原始的,或一小部分 的内在 类型。 这些值是不是对象 是Java和Smalltalk之间最大的语义上的区别之一。在Smalltalk中,原始类型被视为对象,并通过编译器或虚拟机的透明盒装。在Java和Objective-C,它们是明确的。
Java只有一个原始类型的一小部分;四种符号整数,两种(签字)浮点值,布尔,字符。Objective-C的所有C支持的原始类型。核心组是相似的,但有一些重要的差异。首先是C只定义了一种类型的最小范围。短Java中始终是16位。短在C通常是16位。Java中的 一个 int, 始终是...
阅读全文
Objective-c for Java 程序员 第一部分 Java的设计灵感大都来自Objective-C,但许多人发现学习过Java后再学习Objective-C是困难。 在第一个由两部分组成的系列“Chisnall Cocoa编程开发手册”中,作者大卫 着眼于两种语言的语义的相似性和差异进行了分析和研究。 早在1986年创建的Objective-C,但是非常高效的语言。在过去十年 出货量的总和只有50000台电脑的NeXT公司的影响下,大大限制了语言的发展。 当苹果电脑买下了NeXT,这种状况开始有所好转。Objective-C在Mac上发展成为主要的语言,它占据5-10%左右的桌面应用开发的市场份...
阅读全文
Objective-c for Java 程序员 第一部分 Java的设计灵感大都来自Objective-C,但许多人发现学习过Java后再学习Objective-C是困难。 在第一个由两部分组成的系列“Chisnall Cocoa编程开发手册”中,作者大卫 着眼于两种语言的语义的相似性和差异进行了分析和研究。 早在1986年创建的Objective-C,但是非常高效的语言。在过去十年 出货量的总和只有50000台电脑的NeXT公司的影响下,大大限制了语言的发展。 当苹果电脑买下了NeXT,这种状况开始有所好转。Objective-C在Mac上发展成为主要的语言,它占据5-10%左右的桌面应用开发的市场份...
阅读全文
有些时候我们需要进行处理大量数据或其他非常耗时的操作,为了不影响程序对用户的响应,我们必须将这些事情放在一个新线程里进行。这样可以与主线程(UI线程)分开,当任务完成后,在返回主线程处理。android平台下我们可以通过handler和message来实现上述功能。那么ios平台下是如何做的呢?接下我们通过一个下载网络图片的小例子进行学习。
新建一个项目命名为ThreadApp。向ViewController.xib拖入一个UIImageView控件和UIActivityIndicatorView控件如图:
打开ViewController.h文件添加如下代码:
@property (non...
阅读全文
我们在应用开发时经常需要实现很多功能,这时常常需要构建多视图应用程序,在ios平台下我们可以使用UINavigationController(导航控制器)来实现。
新建一个基于View的项目,修改AppDelegate.h中的代码如下:
#import <UIKit/UIKit.h>
@class ViewController;
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (strong, no...
阅读全文
也许您对android中ListView控件很熟悉,ListView为我们展示了一个列表形式的数据,在ios下的TableView为我们实现同样的功能。TableView实现起来很简单,下面看具体例子。新建一个项目,我们要在ViewController.h添加如下代码:
<UITableViewDelegate, UITableViewDataSource>
显而易见,这样做的目的是为了为TableView添加数据,和实现UITableView委托方法。在ViewController.m中添加如下代码:
#pragma mark - View lifecycle - (void)viewDid...
阅读全文
iphone与android一样都包含一些常见的控件比如按钮,图片控件(ImageView)、TableViewController(android下为listView)、标签(android下为TextView)、进度条等。今天我们就来学习一下这些控件的使用。
新建一个基于View的项目,添加下图中的控件
我们添加了Label、TextField、Slider、SwitchButton、ToggleButton控件。下面我们需要为TextField和Label控件(显示Slider值的控件图中35)设置输出口以及为按钮设置事件监听。不要忘了将控件与输出口及事件建立连接,方法:按住Control...
阅读全文
一款优秀的应用都具有良好的用户交互性,包括按钮事件,触屏事件等。今天我们就来了解ios是如何处理这些事件的。
先看一下官方文档对事件处理周期的描述:
在应用程序初始化之后,UIApplicationMain函数就会启动管理应用程序事件和描画周期的基础组件,如图1-2 所示。在用户和设备进行交互的时候,iPhone OS会检测触摸事件,并将事件放入应用程序的事件队列。然后,UIApplication对象的事件处理设施会从队列的上部逐个取出事件,将它分发到最适合对其进行处理的对象。举例来说,在一个按键上发生的触摸事件会被分发到对应的按键对象。事件也可以被分发给控制器对象 和应用程序中不直接负责处理触摸事...
阅读全文