• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

먼저 질문이 이상하게 등록되어 다시 질문드립니다.

16.05.12 02:09 작성 조회수 102

0

안녕하세요 선생님 findBook method를 main class 에서 if 문을 사용하여 print 실행 시 findResult값이 nil이 아닐 경우, 주석으로 처리해 놓은 상태로는 출력이 정상적으로 되는데 “\(findResult!) 를 출력하려 하면 ouput의 (lldb)로 출력되고, 선생님께서 하신 것 처럼 결과문이 나오지 않습니다…! 주석문이 정상적으로 출력되는 것을 보아 if 문은 정상적으로 실행이 되는 것 같은데… 무엇이 문제일까요?     [main.swift]   import Foundation //Book Class : 도서 정보 저장 var book1=Book() book1.name="햄릿" book1.genre="비극" book1.author="셰익스피어" var book2=Book() book2.name="누구를 위하여 종을 울리나" book2.genre="소설" book2.author="헤밍웨이" var book3=Book() book3.name="죄와벌" book3.genre="사실주의" book3.author="톨스토이" var myBook = BookManager() myBook.addBook(book1) myBook.addBook(book2) myBook.addBook(book3) print(myBook.showAllBook()) print(myBook.countBook()) var findResult = myBook.findBook("죄와벌") if findResult != nil{     print("\(findResult!) 를 찾았습니다.") //  print("도서를 찾았습니다.") }else{     print("도서 못 찾았음") }     [Book.swift] import Foundation import Foundation class Book{     var name = ""     var genre=""     var author=""          func bookPrint(){         print("Name : \(name)")         print("Genre : \(genre)")         print("Author : \(author)")     } }     [BookManager.swift] import Foundation class BookManager{     //mutable array     var bookList = [Book]()          func addBook(bookObject:Book){         bookList += [bookObject]     }          func showAllBook()->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     }          func countBook()->Int{         return bookList.count     }          func findBook(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"                 return strTemp             }         }         return nil              }     //     //    func removeBook(name:String){     //     //    } }       [ output ]   Name : 햄릿 Genre : 비극 Author : 셰익스피어 ------------------------------ Name : 누구를 위하여 종을 울리나 Genre : 소설 Author : 헤밍웨이 ------------------------------ Name : 죄와벌 Genre : 사실주의 Author : 톨스토이 ------------------------------ 3 (lldb)    

답변 3

·

답변을 작성해보세요.

0

답변 늦어서 죄송합니다.  제가 인터넷이 매우 느린 나라에 와있어서, 자주 확인을 못하고 있습니다. 

0

인프런님의 프로필

인프런

2016.05.13

감사합니다.  질문하기에서 코드가 엉망으로 나오는데 이부분을 빨리 해결하도록 할게요!! 감사합니다!

0

J.Rok님의 프로필

J.Rok

질문자

2016.05.12

  http://stackoverflow.com/a/23436747/3436568  을 참조하여 해결하였습니다