xmpp:
1、xmpp是基于XML流传输协议,它用于即使消息以及在线现场侦探。
2、XMPPStream用于连接服务器,设置主机名,服务器域名,设置代理,注册、登陆和发消息所有时间的回调。
3、通过jid与服务器进行连接。连接成功做登陆或注册的操作。用XMPPPresence做上线的操作。
4、通过发送命令获取好友。
5、XMPPMessage类做消息的发送与消息的获取。
购物车:
1、用单例写
2、在单例中与服务器进行交互进行增删改查商品。
3、根据服务器返回的数据信息进行一系列的数据显示更新
4、根据用户的操作上传一些改变的状态码或者某个属性字段的值
CALayer和UIView的区别:
(1)UIView是UIKit的(只能iOS使用),CALayer是QuartzCore的(iOS和mac os通用)。
(2)UIView继承UIResponder,CALayer继承NSObject,UIView比CALayer多了一个事件处理的功能,也就是说,CALayer不能处理用户的触摸事件,而UIView可以。
(3)UIView来自CALayer,是CALayer的高层实现和封装,UIView的所有特性来源于CALayer支持。
(4)CABasicAnimation,CAAnimation,CAKeyframeAnimation等动画类都需要加到CALayer上。
coreData的使用:
1.插入数据
1)+ (id)insertNewObjectForEntityForName:(NSString *)entityName inManagedObjectContext:(NSManagedObjectContext *)context;
作用:实例化一个数据模型
- (BOOL)save:(NSError **)error;
作用:保存到本地
2.查询数据
1)NSFetchRequest,
作用:数据查询请求类
2)NSPredicate,
作用:通过谓词设置查询条件的类
3)NSSortDescriptor
作用:按条件排序查询结果
3.更新数据(建立在查询数据之上)
4.删除数据(建立在查询数据之上)
- (void)deleteObject:(NSManagedObject *)object;
==================================
coreData和KVC技术的结合
- (void)setValuesForKeysWithDictionary:(NSDictionary *)keyedValues;
如果数据库储存的类型和提供的数据类型不一致,必须重写此方法
SQL语句的简单使用:
/*
数据库:database
表:table
*/
//主键 唯一标识一条记录
/*
1.创建表
create table [if not exists] 表名
(
属性名 类型(字符个数,可以省略) primary key autoincrement,
属性名 类型(字符个数,可以省略) null(不可以省略),
属性名 类型(字符个数,可以省略) not null(可以省略),
属性名 类型(字符个数,可以省略) not null(可以省略)
);
注意类型有integer,real,text,blob等
例如:
create table if not exists Book
(
id integer primary key autoincrement,
name text,
url text,
des text
);
2.表中插入数据
insert into 表名 (属性名1,属性名2,属性名3) values ('','','');
例如
insert into Book (name,url,des) values ('霍金全集','www.baidu.com','描述');
3.查询
select 字段名(*代表所有字段,如果有多个字段用英文的,分割) from 表名字 [where 字段名=‘’] order by 字段名 desc|asc;
注意:1,where判断 > , >= ,< , <=,between 字段 and 字段
2,desc降序 asc升序
例如:
(1)查询表中所有字段数据
select * from Book;
(2)查询判断的条件
select * from Book where 字段名='';
(3)select name,url from Book where name = '钢铁是怎么炼成的'
4.模糊查询
select 字段名 from 表名 where 属性 like '%关键字%';
%关键字
关键字%
例如
select * from Book where name like '%钢铁%';
5.IN查询
select 字段名 from 表名 where 字段名 in ('关键字','关键字');
例如:
select * from Book where name in ('我的青春','钢铁是怎么炼成的');
6.更新
update 表名 set 属性名 = '关键字' where 属性名 = 关键字
例如:
update Book set url='www.aaa.com' where id = 2
7.删除数据
delete from 表名 where 属性名 = '关键字';
例如:
delete from Book where name = '霍金全集';
8.删除整张表
drop table 表名;
9.添加属性(字段)
alter table 表名 add column 属性名 类型;
例如:
alter table Book add column price integer;
聚合函数
10.求和
select sum(属性名) from 表名
例如:
select sum(age) from User
11.求平均值
select avg(属性名) from 表名
例如:
select avg(age) from User
12.求最大值
select max(属性名) from 表名
例如:
select max(age) from User
13.求最小值
select min(属性名) from 表名
例如:
select min(age) from User
14.求元组个数
select count(*) from 表名
select count(distinct|all 属性名) from 表名
如果指定DISTINCT短语,则表示在计算时要取消指定列中的重复值。如果不指定DISTINCT短语或指定ALL短语(ALL为缺省值),则表示不取消重复值。
例如:
select count(*) from User
select count(distinct name) from User;
*/