simplify socketpacket methods

This commit is contained in:
Erik 2015-09-07 13:15:54 -04:00
parent 648d9d9df0
commit 5fdea20455

View File

@ -212,17 +212,13 @@ struct SocketPacket {
} }
mutating func fillInPlaceholders() { mutating func fillInPlaceholders() {
let newArr = NSMutableArray(array: data)
for i in 0..<data.count { for i in 0..<data.count {
if let str = data[i] as? String, num = str["~~(\\d)"].groups() { if let str = data[i] as? String, num = str["~~(\\d)"].groups() {
newArr[i] = binary[Int(num[1])!] data[i] = binary[Int(num[1])!]
} else if data[i] is NSDictionary || data[i] is NSArray { } else if data[i] is NSDictionary || data[i] is NSArray {
newArr[i] = _fillInPlaceholders(data[i]) data[i] = _fillInPlaceholders(data[i])
} }
} }
data = newArr as [AnyObject]
} }
private mutating func _fillInPlaceholders(data: AnyObject) -> AnyObject { private mutating func _fillInPlaceholders(data: AnyObject) -> AnyObject {
@ -287,22 +283,18 @@ private extension SocketPacket {
binary.append(bin) binary.append(bin)
return placeholder return placeholder
} else if let arr = data as? NSArray { } else if var arr = data as? [AnyObject] {
let newArr = NSMutableArray(array: arr)
for i in 0..<arr.count { for i in 0..<arr.count {
newArr[i] = shred(arr[i], binary: &binary) arr[i] = shred(arr[i], binary: &binary)
} }
return newArr return arr
} else if let dict = data as? NSDictionary { } else if var dict = data as? [String: AnyObject] {
let newDict = NSMutableDictionary(dictionary: dict) for (key, value) in dict {
dict[key] = shred(value, binary: &binary)
for (key, value) in newDict {
newDict[key as! NSCopying] = shred(value, binary: &binary)
} }
return newDict return dict
} else { } else {
return data return data
} }