간단한 책관리 어플
책 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
}
}
'ios 뽀개기 > ios 응용해보기' 카테고리의 다른 글
네비게이션 응용 화면간 데이터 넘기기 - 전구 켜고끄기 확대축소 (0) | 2017.12.27 |
---|---|
이미지 슬라이더 애니메이션 (0) | 2017.12.21 |
mysql.sock 오류 해결 (0) | 2017.12.19 |
mac에서 php를 통해서 mysql에 삽입하기 (0) | 2017.12.19 |
php에서 myql파일 json으로 가져오기 (0) | 2017.12.19 |
댓글