본문 바로가기
iOS

[Swift] 스위프트 실전 프로젝트 1. 도서 관리 프로그램 만들기(2)

by 꿈나무 김땡땡 2020. 7. 3.

1편 : https://ddaengddaeng.tistory.com/80

 

[Swift] 스위프트 실전 프로젝트 1. 도서 관리 프로그램 만들기(1)

출처 앱 12개를 만들며 배우는 Swift4 & iOS11 아이폰 iOS 개발 강좌 https://www.inflearn.com/course/swift4-%EC%8A%A4%EC%9C%84%ED%94%84%ED%8A%B8-ios-%EA%B0%9C%EB%B0%9C/dashboard 앱 12개를 만들며 배우는..

ddaengddaeng.tistory.com

 

출처

앱 12개를 만들며 배우는 Swift4 & iOS11 아이폰 iOS 개발 강좌

https://www.inflearn.com/course/swift4-%EC%8A%A4%EC%9C%84%ED%94%84%ED%8A%B8-ios-%EA%B0%9C%EB%B0%9C/dashboard

 

앱 12개를 만들며 배우는 Swift4 & iOS11 아이폰 iOS 개발 강좌 - 인프런

Swift4 를 이용해 여러개의 앱을 만들어 보는 iOS 개발강좌 입니다. 기본적인 내용을 빠르게 학습하고, 여러 실용적인 예제들로 지식을 자신을 것으로 만들 수 있는 강좌 입니다. 최대한 빠르고, 효

www.inflearn.com

 

주요 내용

  • Command + / : 연속으로 주석처리
  • Command + R : 실행

 

코드

1) BookManager.swift (새로운 swift 파일 생성)

import Foundation
class BookManager{
// 변수
var bookList = [Book]() // Book 이라는 데이터 타입이 들어가는 비어있는 배열
// 함수1
func registerBook(bookObject:Book) {
bookList += [bookObject]
}
// 함수2
func showAllBooks() -> String {
var strTemp = ""
for bookTemp in bookList {
strTemp += "Name: \(bookTemp.name)\n"
strTemp += "Genre: \(bookTemp.genre)\n"
strTemp += "Author: \(bookTemp.author)\n"
strTemp += "-------------------\n"
}
return strTemp
}
// 함수3
func countBooks() -> Int {
return bookList.count
}
// 함수4
func searchBook(name: String) -> String? {
var strTemp = ""
for bookTemp in bookList {
if bookTemp.name == name {
strTemp += "Name: \(bookTemp.name)\n"
strTemp += "Genre: \(bookTemp.genre)\n"
strTemp += "Author: \(bookTemp.author)\n"
strTemp += "-------------------\n"
return strTemp
}
}
return nil
}
func removeBook(name: String) {
for (index, value) in bookList.enumerated() {
if value.name == name {
bookList.remove(at: index)
}
}
}
}

 

2) main.swift

import Foundation
var book1 = Book(name: "햄릿", genre: "비극", author: "셰익스피어")
// book1.bookPrint()
var book2 = Book(name: "누구를 위하여 종을 울리나", genre: "소설", author: "헤밍웨이")
// book2.bookPrint()
var book3 = Book(name: "죄와벌", genre: "사실주의", author: "톨스토이")
// book3.bookPrint()
var myBookManager = BookManager()
myBookManager.registerBook(bookObject: book1)
myBookManager.registerBook(bookObject: book2)
myBookManager.registerBook(bookObject: book3)
print(myBookManager.showAllBooks())
print("number of books : \(myBookManager.countBooks())")
// forced unwrapping
var searchResult = myBookManager.searchBook(name: "햄릿")
if searchResult != nil {
print("\(searchResult!)를 찾았습니다")
} else {
print("찾는 책이 없어요.")
}
// option binding
if let searchResult = myBookManager.searchBook(name: "햄릿") {
print("\(searchResult)를 찾았습니다.")
} else {
print("찾는 책이 없어요.")
}
myBookManager.removeBook(name: "죄와벌")
print(myBookManager.showAllBooks())

 

3) Book.swift

struct Book {
var name: String
var genre: String
var author: String
func bookPrint() {
print("Name: \(name)")
print("Genre: \(genre)")
print("Author: \(author)")
print("--------------")
}
}

댓글