0
ここで、コンパイラがタイプの不一致を警告しない理由を教えてください。XCode - タイプミスマッチについてコンパイラが警告しない
NSHour* H1; // My object
if (H1 == nil) doSomething
else H1 = [NSString stringWithFormat:@"%@%@", H1, @":00"]; --- Here : affecting an NSString* to an NSHour*
Appleは本当にココアで悪いことをしています。どのようにしてこのクラスはNSString以外の何かを返すことができますか?私はそのような愚かな宣言のために私のコード全体を読まなければなりません... NSStringを返すようにこの関数をオーバーライドする方法を知っていますか?再宣言のように? – Oliver
これが可能かどうかは考えられません。しかし、これらの事柄を見つけるために多くのコードを読まなければならない場合、これは悪いコードのヒントです。多分変数の名前は無意味です(H1は確かにあり、命名規則にも違反します)。そして、なぜこれが* id *とタイプされているのか分かりません。... – Eiko
は、悪いコードの兆候ではありません。確かにvarsの名前を付けることができますが、正しいvar名は、文字列が警告なしに他のオブジェクトにどこに設定されているかを調べるために私のコード全体を読まなければならないという事実を変えません。私はこれを試みた:問題を防ぐために、http://stackoverflow.com/questions/4702871/iphone-category-on-nsstring-to-make-stringwithformat-return-a-nsstringあなたはこの質問に目を向けることができますか? – Oliver