基于Fundation框架的简单管理系统

我也是正在学习IOS开发的,OC中有很多框架 ,其中Fundation/Fundation.h是我们开发中常常用到的,其中涉及到的三个工厂类:字符串 ,数组,字典  又是这个框架的重中之重,我们可以通过编写管理系统一类的程序来将我们所学的知识在项目中串联起来,下面就是我自己编写的其中之一的图书管理系统:说道这个系统 ,首先我们想到的是它的功能是什么?一个图书管理系统肯定是要有图书的基本属性的  比如:书名,价格,数量,编号等等,还有就是如何去管理它,管理员可以对其中的书进行增删操作,而用户则可以对图书进行查询 选择 借阅等功能。所以这个项目 需要一个属性类 一个管理类  一个用户类(可以不要直接在main中去实现),接下来看一下  代码

首先是 属性类(其中包含 书籍的属性和构造以及打印方法):我取名为  Books    类

#import <Foundation/Foundation.h>
@interface Books : NSObject
@property NSString *BookName;//书名
@property NSString *BookNo;  //编号(放入字典中的关键字)
@property NSString *BookType;//类型
@property CGFloat BookPrice;//价格
@property NSUInteger BookCount;//数量

//Books类的带参构造方法
-(
instancetype)initWithBookName:(NSString
*)BookName andBookNo:(NSString *)BookNo
andBookType:(
NSString *)BookType
andBookprice:(
CGFloat)BookPrice
andBookcount:(
NSUInteger)BookCount;

//打印方法
-(
void)printInformation;
@end
下面是Books.m文件


@implementation Books
-(instancetype)initWithBookName:(NSString
*)BookName andBookNo:(NSString *)BookNo
andBookType:(NSString *)BookType
andBookprice:(CGFloat)BookPrice
andBookcount:(NSUInteger)BookCount{
if (self =[super init]) {
self.BookType=BookType;
self.BookName=BookName;
self.BookNo=BookNo;
self.BookPrice=BookPrice;
self.BookCount=BookCount;
}
return self;
}
-(void)printInformation{
NSString *str = [NSString
stringWithFormat:@"书名:%@ 编号:%@ 类型:
%@ 价格:%.2lf 数量:
%lu",self.BookName,self.BookNo,self.BookT
ype,self.BookPrice,self.BookCount];
printf("%s\n",[str UTF8String]);//在OC使用NSLog打印会有日志,影响打印的效果,这里这OC字符串转为C字符串,用printf打印
}
@end

接下来就是BooksManage 管理类的声明和实现,因为字典(字典无序但有键值对,便于查找)和数组的特性(数组有序,便于排序和遍历),所以我们要在此类中声明一个字典对象和一个数组对象,为了不让他人进行操作,所以不提供setter方法,直接在.m文件中声明为私有的属性,为了能在其他类或者主函数中查找或者遍历数组和字典,这里我采用的是创建一个管理类的单类对象(当然,实现这一功能的方法有很多,在本文中使用的是单类对象),下面是文件的声明和实现。

BooksManager.h

#import <Foundation/Foundation.h>
@interface BooksManage : NSObject
{
NSMutableDictionary *_mDict;//字典
NSMutableArray *_mArray;//数组
}
//按关键字BookNo查找图书
-(void)searBookByBookno:(NSString
*)BookNo;
//查找图书按书名
-(void)searBookByName:(NSString
*)BookName;
//取⾛图书Takeout
-(void)TakeoutBookByNameNO:(NSString
*)BookName;
//按图书编号排序升序排列BoookNo
-(void)sortByBooknoAsc;
//按图书价格升序排列Bookprice
-(void)sortByBookpriceAsc;
//按图书名称降序排列BookName
-(void)sortByBooknameDsc;
//按图书类型降序排列BookType
-(void)sotrByBooktypeDsc;
+(BooksManage *)defaultManage;
//列出所有图书
-(void)listAllIterm;
+(BooksManage *)defaultManage

#import "BooksManage.h"
#import "Books.h"
@implementation BooksManage
//图书 数组和字典 构造
-(id)init{
if (self = [super init]) {
_mArray = [[NSMutableArray alloc]
init];
_mDict = [[NSMutableDictionary
alloc] init];
}
return self;
}
//增加图书add
-(void)addBookWithBookname:(NSString
*)BookName andBookno:(NSString *)BookNo
andBooktype:(NSString *)BookType
andBookprice:(CGFloat)BookPrice
andBookcount:(NSUInteger)BookCount{
Books *bk = [[Books alloc]
initWithBookName:BookName
andBookNo:BookNo andBookType:BookType
andBookprice:BookPrice
andBookcount:BookCount];
BOOL ret = _mDict[BookNo]==nil?
YES:NO;
if (ret==NO) {
Books *b = [[Books alloc] init];
b= _mDict[BookNo];
b.BookCount+=BookCount;
return;
}
[_mArray addObject:bk];
[_mDict setObject:bk forKey:BookNo];
NSLog(@"添加成功! ");
}
//按关键字BookNo查找图书
-(

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值