Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. class MultiLevel_encapsulation {
  2.  
  3. var separator = "";
  4.  
  5. var datas:[String:String] = [:]
  6.  
  7. func wrap() -> String{
  8. var out:String = ""
  9. var i = 0
  10. for (key, data) in datas{
  11. if i==0{
  12. out += key + separator + data
  13. }
  14. else{
  15. out += separator + key + separator + data
  16. }
  17.  
  18. i+=1
  19. }
  20. return out
  21. }
  22.  
  23. func unwrap(content:String){
  24. let split = content.components(separatedBy: separator)
  25. var i = 1
  26. while(i < split.count){
  27. datas[split[i-1]] = split[i]
  28. i += 2
  29. }
  30. }
  31.  
  32. func getAttributesNames() -> [String]{
  33. var out:[String] = []
  34. for (key, _) in datas{
  35. out.append(key)
  36. }
  37. return out
  38. }
  39.  
  40.  
  41. func getValue(name:String) -> String? {
  42. return datas[name];
  43. }
  44.  
  45. func setValue(name:String, value:String){
  46. datas[name] = value;
  47. }
  48.  
  49. }
  50.  
  51. class Level5_encapsulation: MultiLevel_encapsulation{
  52. init(message:String) {
  53. super.init()
  54. separator = "&&LEVEL5&&"
  55. unwrap(content:message)
  56. }
  57. override init() {
  58. super.init()
  59. separator = "&&LEVEL5&&"
  60. }
  61.  
  62. }
  63.  
  64. var l5message = Level5_encapsulation()
  65. l5message.setValue(name: #anyTitle#, value: #anyValue#)
  66. var output = l5message.wrap() // String with encapsulated message
  67.  
  68. Variable 'l5message' was never mutated; consider changing to 'let' constant
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement