diff --git a/SwiftIO/SocketPacket.swift b/SwiftIO/SocketPacket.swift index 7c221cf..ccbe0b5 100644 --- a/SwiftIO/SocketPacket.swift +++ b/SwiftIO/SocketPacket.swift @@ -188,55 +188,8 @@ class SocketPacket { return message + "]" } - private func fillInArray(arr:NSArray) -> NSArray { - var newArr = [AnyObject](count: arr.count, repeatedValue: 0) - // println(arr) - - for i in 0.. NSDictionary { - var newDict = [String: AnyObject]() - - for (key, value) in dict { - newDict[key as String] = value - - // If the value is a string we need to check - // if it is a placeholder for data - if let str = value as? String { - if let num = str["~~(\\d)"].groups() { - newDict[key as String] = self.binary[num[1].toInt()!] - } else { - newDict[key as String] = str - } - } else if let nestDict = value as? NSDictionary { - newDict[key as String] = self.fillInDict(nestDict) - } else if let arr = value as? NSArray { - newDict[key as String] = self.fillInArray(arr) - } - } - - return newDict - } - func fillInPlaceholders() { - var newArr = [AnyObject](count: self.data!.count, repeatedValue: 0) + var newArr = NSMutableArray(array: self.data!) for i in 0.. AnyObject { + if let str = data as? String { + if let num = str["~~(\\d)"].groups() { + return self.binary[num[1].toInt()!] + } else { + return str + } + } else if let dict = data as? NSDictionary { + var newDict = NSMutableDictionary(dictionary: dict) + + for (key, value) in dict { + newDict[key as NSCopying] = _fillInPlaceholders(value) + } + + return newDict + } else if let arr = data as? NSArray { + var newArr = NSMutableArray(array: arr) + + for i in 0..