我也是正在學習ios開發的,oc中有很多框架 ,其中fundation/fundation.h是我們開發中常常用到的,其中涉及到的三個工廠類:字串 ,陣列,字典 又是這個框架的重中之重,我們可以通過編寫管理系統一類的程式來將我們所學的知識在專案中串聯起來,下面就是我自己編寫的其中之一的圖書管理系統:說道這個系統 ,首先我們想到的是它的功能是什麼?乙個圖書管理系統肯定是要有圖書的基本屬性的 比如:書名,**,數量,編號等等,還有就是如何去管理它,管理員可以對其中的書進行增刪操作,而使用者則可以對圖書進行查詢 選擇 借閱等功能。所以這個專案 需要乙個屬性類 乙個管理類 乙個使用者類(可以不要直接在main中去實現),接下來看一下 **
首先是 屬性類(其中包含 書籍的屬性和構造以及列印方法):我取名為 books 類
#import
@inte***ce
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
return self;
}-(void)printinformation
@end
接下來就是booksmanage 管理類的宣告和實現,因為字典(字典無序但有鍵值對,便於查詢)和陣列的特性(陣列有序,便於排序和遍歷),所以我們要在此類中宣告乙個字典物件和乙個陣列物件,為了不讓他人進行操作,所以不提供setter方法,直接在.m檔案中宣告為私有的屬性,為了能在其他類或者主函式中查詢或者遍歷陣列和字典,這裡我採用的是建立乙個管理類的單類物件(當然,實現這一功能的方法有很多,在本文中使用的是單類物件),下面是檔案的宣告和實現。
booksmanager.h
#import
@inte***ce
booksmanage :
nsobject
//按關鍵字
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
return self;
}//增加圖書add
-(void)addbookwithbookname:(nsstring
*)bookname andbookno:(nsstring *)bookno
andbooktype:(nsstring *)booktype
andbookprice:(cgfloat)bookprice
andbookcount:(nsuinteger)bookcount
[_marray addobject:bk];
[_mdict setobject:bk forkey:bookno];
nslog(@"新增成功! ");
}//按關鍵字bookno查詢圖書
-(void)searbookbybookno:(nsstring
*)bookno
//查詢圖書按書名
-(void)searbookbyname:(nsstring
*)bookname{
nsinteger count=0;
for (nsuinteger i=0; i<_marray.count;
基於swoole的極簡框架 1 4 1
class article extends model 根據點讚排序 public function orderbylikecount 獲取周排行榜 按照點讚數量 article column id title where create at strtotime 1 week orderby lik...
實體框架(Entity Framework)簡介
1 簡稱 ef2 與asp.netmvc關係與 ado.net 關係ado.net entity framework 是微軟 以ado.net 為基礎所發展出來的物件關係對應 解決方案,早期被稱為 objectspace 最新版本是 ef6.0 codeonly 功能得到了更好的支援 3 實體框架 ...
前端框架 Quasar Framework 簡介
quasar framework 是一款基於vue.js開發的開源的前端框架,它能幫助web開發者快速建立以下 github 響應式 漸進式應用 手機應用 通過cordova 跨平台應用 通過electron 在前面說什麼都是假的,直接上 demo 才是王道material theme demo q...