レスどうもありがとうございます。
>>962
> 破棄されたオブジェクトにアクセスしてはいけないので、4行めの retainCount は未定義動作。

C言語でも、free()した後、そのメモリがいつクリアされるかは処理系依存で、
free()した直後にアクセスしていても内容は残っている(でもfree()した後の変数へのアクセス結果は未定義動作)
というのがあったと思いますが、 >>961 で [myDate retainCount] しても1が残っているのはそういうことでしょうか?

また、
> オブジェクトを破棄しても、それを指していたポインタ変数 myDateの値はかわらない

C言語でも

char *str = (char *)malloc(100);
gets(str);
free(str);

ここでstrはfreeされたけど、strのアドレスが格納されている *str というポインタ変数には
値が残っているのと同じでしょうか?

# C言語の知識が生半可なので間違っていたらすみません。