mysql实现关注收藏_用数据库实现收藏功能.

这篇博客详细介绍了如何在iOS应用中使用SQLite数据库来实现收藏功能。首先,通过单例模式封装数据库操作,包括打开、创建表格、增删改查等方法。在收藏功能中,主要涉及到查询、增添和删除数据。博主分享了实现过程中遇到的问题,如避免在遍历查询结果时直接插入或删除数据,判断收藏状态的时机,以及数据库表格更新的注意事项。最后,博主给出了具体的SQLite数据库操作代码示例。
摘要由CSDN通过智能技术生成

这里将数据库的封装为一个工具类.将数据库设计为一个单例,封装一些打开,创建表格,增,删,改,查的方法.在收藏功能中主要用到,查询,增添,和删除的方法.

查询,返回的数据,是你存入的数据内容.可以返回数据库的全部内容,也可以根据某个属性,返回符合该属性的内容.

代码区别:

ac719d33cb3b

根据title来查询数据库中内容,返回与title一样的数据.

ac719d33cb3b

主要思路:

1.查询数据库的内容,遍历返回的数组来判断数据库中是否有想要收藏的数据(model),以此来判断收藏提示界面的状态.

ac719d33cb3b

2.收藏界面状态的更换,来判断什么时候往数据库中插入某条数据,什么时候删除数据库中的某条数据.

ac719d33cb3b

3.查询数据库中的内容,,将数据库中的内容在另外一个界面将数据库中的model展现出来.

将要收藏的数据(model)插入导数据库当中

ac719d33cb3b

实现该功能中遇到的问题:

1.什么时候插入数据,什么时候删除数据,不能写在   遍历查询返回的数组当中  ,会导致多条数据同时插入,同时删除.

2.判断起初的收藏状态,必须在该界面初始化之后,界面出现之前,多注意程序走方法的先后顺序.

3.数据库建立的 表格,若是同名,后建的表格不会替换之前的表格,若是表格添加了新的一列,属性,必须在文件夹中,将原始建立的表格删除.

ac719d33cb3b

4.数据库存数据的小技巧,先考虑自己想要存的内容,根据想要存的内容建立model类型,

在收藏界面,用该model的属性接收来自不同界面来的model类型的属性(一般为字符串属性,分开接收,这样避免直接接收整个model时需要判断不同的model类型)

避免界面一样,model的属性不同 ,导致数据中存储一些(null)的数据.

#import .h

@class ModelForListen;

@interface DataBaseHandler : NSObject

+ (instancetype)shareDataBaseHandler;

- (void)open;

- (void)createTable;

- (void)insertModel:(ModelForListen *) model;

- (void)updataModel:(ModelForListen *)model ForNumber:(NSInteger)number;

- (void)deleteWithTitle:(NSString *)title;

- (void)deleteWithModel:(ModelForListen *)model;

- (NSArray *)selectForTitle:(NSString *)title;

- (NSArray *)selectForModel;

- (void)dropTable;

- (void)closeDB;

.m

  DataBaseHandler.m//  UI21_SQLite  Created by dllo on 16/1/11.//  Copyright © 2016年 dllo. All rights reserved.//#import "DataBaseHandler.h"#import#import "ModelForListen.h"

@implementation DataBaseHandler

#pragma mark - 知识点 1 单例

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
收藏夹和购物车系统的实现收藏夹子系统 (1) 【收藏指定图书】能收藏一本图书,并记录收藏日期(某年某月某日,如2016-12-12。所有日期都采用人工定义方式输入,不取机器日期)。图书的信息包括图书号(是唯一的)、书名、作者、出版社、出版日期、价格。 (2) 【查询指定图书】能按照图书号查询显示收藏夹中图书的相关信息(也可以扩展功能为按照书名、作者、出版社、出版日期、指定价格大小范围查询显示收藏夹中图书的相关信息)。 (3) 【按日期显示所有图书】能按照收藏日期的先后显示输出所收藏的所有图书的相关信息。 (4) 【移出收藏夹】可以把不想收藏的某一本指定图书号的图书直接移出收藏夹。 (5) 【加入购物车】将收藏夹中的某一本指定图书号的图书加入到购物车。 (6) 【按价格显示所有图书】能按照价格的大小显示输出收藏夹中的所有图书的相关信息。  购物车子系统 (1) 【直接加入购物车】把准备购买的一本图书直接加入购物车,同时记录加入购物车的日期。图书的信息包括图书号(是唯一的)、书名、作者、出版社、出版日期、价格、购买数量、购买金额(自动计算)。 (2) 【查询指定图书】能按照图书号查询显示购物车中准备购买的图书的相关信息(也可以扩展功能为按照书名、作者、出版社、出版日期、指定价格大小范围查询显示购物车中图书的相关信息)。 (3) 【修改购买数量】可以修改购物车中准备购买的某一本指定图书号的图书的数量,同时自动计算修改购买金额(购买金额=购买数量*价格)。 (4) 【删除指定图书并移到收藏夹】把购物车中的某一本指定图书号的图书删除并移到收藏夹。 (5) 【直接删除指定图书】可以把不想购买的某一本指定图书号的图书从购物车中删除。 (6) 【按图书号显示所有图书】把购物车中所有图书按照图书号列出每一本图书的图书号、书名、作者、出版社、出版日期、价格、购买数量、购买金额,最后列出总共有多少本图书、总金额是多少。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值