Consider the code below. Identify all statements that are true about the code. Select all that apply. protocol MessageSecurity { func encrypt(message: String) -> String func decrypt(message: String)...



Consider the code below. Identify all statements that are true about the code. Select all that apply.


protocol MessageSecurity {
    func encrypt(message: String) -> String
    func decrypt(message: String) -> String
}


struct SecureIsh : MessageSecurity {
    func encrypt(message: String) -> String {
        let split = message.components(separatedBy: " ")
        let ished = split.map({ $0 + "ish"})
        return ished.joined(separator: " ")
    }
    func decrypt(message: String) -> String {
        let split = message.components(separatedBy: " ")
        let notIshed = split.map({ $0.dropLast(3)})
        return notIshed.joined(separator: " ")
    }
}


struct SecureMessenger {
    var security: MessageSecurity
    mutating func assignSecurity(security: MessageSecurity) {
        self.security = security
    }
    func send(message: String, to: String) {
        // code for sending a message
    }
    func read(message: String, from: String) {
        // code for reading message
    }
}



Group of answer choices

You can pass any object that implements the SecureMessenger struct to SecureMessenger's assignSecurity function




You can pass any object that implements the MessageSecurity protocol to SecureMessenger's assignSecurity function




You can pass a SecureIsh object to SecureMessenger's assignSecurity function




The code is invalid because you cannot use a protocol as a parameter to a function/member function




Jun 08, 2022
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here