は、私はクラスEmail
を持って期待通りに動作していない配列比較は
let newEmails = emailsJsonObjects.map({ return Email(JSON: $0)! }).sort({ $0.0.email < $0.1.email })
let currentEmails = (self.emails as! [Email]).sort({ $0.0.email < $0.1.email })
を両方が一つの要素を持っている、と彼らは同じ持っていますemail
とemailType
、ここで私はそれらを比較することによって、持っているものです:
(lldb) po newEmails.count
1
(lldb) po currentEmails.count
1
(lldb) po newEmails == currentEmails
false
(lldb) po newEmails[0] == currentEmails[0]
true
何か不足していますか?比較は異なっていますか?
'newEmails == currentEmails'は、2つの配列が同じ配列であるかどうかを尋ねます。 'newEmails [0] == currentEmails [0]'は、 'newEmails'のインデックス0の電子メールが' currentEmails'のインデックス0の電子メールと同じかどうかを尋ねます。 – Paulw11
Paulw11:私もそれを考えましたが、これによると(http://stackoverflow.com/a/27580740)、実際にはすべての配列要素を実行します。そして私はプレイグラウンドでいくつかのテストを行いました。実際には期待通りに動作しますが、この場合は動作しません。 – dccarmo
おそらくそれはデバッガです。 – Paulw11