Oi! Primeiramente achei teu projeto INCRIVEL
Tanto a ideia quanto a execução, aprendi varias coisas lendo o código!!
A melhoria que eu queria sugerir seria uma validação nos inputs dos campos referentes a nomes do autor (ou outros campos que não poderiam ter números) e ano de publicação
Para os inputs de nome, seria massa que o app validasse a existência de números no input do usuário, dei uma pesquisada em como fazer isso e achei essa solução:
var texto = readline()
let inteiros = CharacterSet.decimalDigits
let decimalRange = texto .rangeOfCharacter(from: inteiros)
if decimalRange != nil {
print("Digite um nome valido!")
}
a outra validação seria referente ao ano de publicação, para que o usuário não digite um ano que ainda não passou.
Usando Date() em um condicional daria bom!
Parabéns pelo ótimo projeto!