@@ -56,30 +56,34 @@ import Foundation
56
56
}
57
57
58
58
#if swift(>=3.0)
59
- return notableAddresses. reduce ( nil as String ? ) { prev, notableAddress in
59
+ var result = notableAddresses. reduce ( " " ) { prev, notableAddress in
60
60
let dict = notableAddress. 1
61
61
if let type = dict [ " type " ] as? String , type == " string " {
62
- if let prev = prev,
63
- let value = dict [ " value " ] as? String ,
62
+ if let value = dict [ " value " ] as? String ,
64
63
value. components ( separatedBy: " " ) . count > 3 {
64
+ // we try to find a human readable sentence so we say there should be at least
65
+ // 4 words e.g: unexpectedly found nil while unwrapping an Optional value
65
66
return " \( prev) \( value) "
66
67
}
67
68
}
68
69
return prev
69
70
}
71
+ result = result. trimmingCharacters ( in: CharacterSet . whitespacesAndNewlines)
70
72
#else
71
- return notableAddresses. reduce ( nil as String ? ) { prev, notableAddress in
73
+ var result = notableAddresses. reduce ( " " ) { prev, notableAddress in
72
74
let dict = notableAddress. 1
73
75
if let type = dict [ " type " ] as? String where type == " string " {
74
- if let prev = prev,
75
- let value = dict [ " value " ] as? String
76
+ if let value = dict [ " value " ] as? String
76
77
where value. componentsSeparatedByString ( " " ) . count > 3 {
77
78
return " \( prev) \( value) "
78
79
}
79
80
}
80
81
return prev
81
82
}
83
+ result = result. stringByTrimmingCharactersInSet ( NSCharacterSet . whitespaceAndNewlineCharacterSet ( ) )
82
84
#endif
85
+
86
+ return result. characters. count == 0 ? nil : result
83
87
}
84
88
85
89
public override var debugDescription : String {
0 commit comments