何気ない記録

なんとなく自分の意見を書き記すときにつかいます。つまり不定期更新です。

文字列の"True"と真偽値の"True"の混同ってどんなケースよ・・・

 

6か月にわたりiCloudからロックアウトされている女性、名前は「True」 | スラド アップル

冷静に考えて文字列の"True"を、同様に文字列しかありえないフィールドに保存する行動が真偽値の"True"に関わる挙動で利用に影響がでるとかどういう事なのかさっぱりわからないのだが。俺がAppleでも意味がわからないかと

 

誰かどういったケースでそんな事が起きるのか教えて下さい。

 

というか"False"さんという人であればまだわかる。

何かしらのメソッドの返値が以上な場合には"False"であり、それ以外は正常とする場合であれば。

が、それですら普通は真偽値の"False"と文字列の"False"は意図的に取り違えないと混同する事はできないが。

 

実際問題"lastName"フィールド/プロパティに"True"がセットされたとして何か問題があるかというと、実際なにも問題はないし、それで異常が起きると言われると意味がわからない。

 

唯一想定できるとすれば、直接的なロジックではなく、外部参照系を挟む場合、型情報を境界面を跨ぐ際に引き継がないような仕様の場合であれば、相手方に文字列の"True"を渡したはずが、真偽値の"True"に変換され、当然文字列として真偽値を処理すると正常な応答とはならない可能性が高い(そもそも空扱いになり、必須項目漏れである為、課金処理のような手続きでは例外が発生する)かなとは思う。

 

なので、Apple云々というか、内部的なアーキテクチャーに関わる話しか、バックエンドでの連携のようなそういった事でコードの話しではないと思う。

 

というか、それしか想像できない。

 

が、そんな事はAppleのエンジニアであれば速攻わかっているはずなので、それですらないという事が、今の所意味がわからないという回答なんだろうな。