본문 바로가기
ios 뽀개기/ios 응용해보기

간단한 책관리 어플

by 인생여희 2017. 12. 20.
반응형



간단한 책관리 어플


책 struct

//

//  BookStruct.swift

//  BookManager

//

//  Created by MacBookPro on 2017. 12. 20..

//  Copyright © 2017년 MacBookPro. All rights reserved.


import Foundation


//책 정보를 담을 구조체 선언!

struct Book {

    var name:String

    var genre:String

    var author:String

    

    func bookPrint(){

        print("이름: \(name)")

        print("장르: \(genre)")

        print("저자: \(author)")

        print("----------------------")

    }

    }



메인

//

//  main.swift

//  BookManager

//

//  Created by MacBookPro on 2017. 12. 20..

//  Copyright © 2017년 MacBookPro. All rights reserved.

//


import Foundation


//구조체 객체 만들어서 데이터 넣기

var book1 = Book(name: "o hamlit", genre: "noval", author: "o hanli")

//print(book1.name)

var book2 = Book(name: "Bible", genre: "real", author: "God")

//print(book2)

var book3 = Book(name: "swift4", genre: "it", author: "steven jobs")

//print(book3)


//클래스 인스턴스 만들기

var myBookManger = BookManager()

myBookManger.registerBook(bookObject: book1)

myBookManger.registerBook(bookObject: book2)

myBookManger.registerBook(bookObject: book3)


//모든 책 불러오기

var showAllMyBook = myBookManger.showAllBooks()

print(showAllMyBook)


//책 개수 구하기

var howManyBooks = myBookManger.countBooks()

print(howManyBooks)



//책찾기 - 옵셔널

if let searchBook = myBookManger.searchBook(name: "swift4"){

    print(searchBook)

    

}else{

    print("찾는 책이 없습니다.")

}


//책 삭제

if let deleteBook = myBookManger.removeBook(name: "swift4"){

    

        print(deleteBook)

}else{

        print("삭제할 책이 없습니다.")

}


print("\n")

print("=========갱신 했습니다.=============")

print("\n")

showAllMyBook = myBookManger.showAllBooks()

print(showAllMyBook)


howManyBooks = myBookManger.countBooks()

print(howManyBooks)




북메니져 class

//

//  BookManager.swift

//  BookManager

//

//  Created by MacBookPro on 2017. 12. 20..

//  Copyright © 2017년 MacBookPro. All rights reserved.

//


import Foundation


class BookManager{

    

    var bookList = [Book]()

    

    //등록 - main에서 구조체를 넘겨 받아서 배열에 넣어준다.

    func registerBook(bookObject:Book){

        bookList += [bookObject]

    }

    

    //모든책 보여주기: 배열에 들어 있는 요소 꺼내서 문자열에 할당 후 리턴

    func showAllBooks() -> String {

        var str = ""

        for book in bookList {

            str += "책이름:" + book.name + "\n"

            str += "장르:" + book.genre + "\n"

            str += "저자:" + book.author + "\n"

            str += "=============" + "\n"

        }

        return str

    }

    

    //몇개 인지 확인

    func countBooks() -> Int {

        return bookList.count

    }

    

    //찾기 - main에서 이름 받아서 배열의 요소와 확인 후 리턴

    func searchBook(name: String) ->String?{

        var str = ""

        for book in bookList {

            if name == book.name{

                str += "책이름:" + book.name + "\n"

                str += "장르:" + book.genre + "\n"

                str += "저자:" + book.author + "\n"

                str += "=============" + "\n"

                return str

            }

        }

        return nil

    }

    

    //삭제 -

    func removeBook(name: String) ->String?{

       //배열안의 값과 인덱스 값구하기

        for(index,value) in bookList.enumerated(){

            if value.name == name {

                bookList.remove(at: index)

                return "삭제 되었습니다."

            }

        }

            return nil

    }

}

반응형

댓글