質問編集履歴
1
質問の内容を変更しました。インスタンスではなくインスタンスの中のプロパティのインスタンスでした。
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
HogeClassという独自クラスを作り、NSMutableArrayに格納しようとしました。
|
2
2
|
|
3
|
-
しかし途中でHogeClassの
|
3
|
+
しかし途中で自作のクラス(HogeClass)の、プロパティが消えてしまうというものです。(インスタンスと書きましたが、プロパティでした。大変失礼しました)
|
4
4
|
|
5
5
|
|
6
6
|
|
@@ -26,7 +26,7 @@
|
|
26
26
|
|
27
27
|
}
|
28
28
|
|
29
|
-
//ここでは、resultに格納したはずのhogeClassが
|
29
|
+
//ここでは、resultに格納したはずのhogeClassのnsArrayPropertyプロパティがnillになっており、ウォッチウィンドウでも確認できません。
|
30
30
|
|
31
31
|
|
32
32
|
|
@@ -40,7 +40,27 @@
|
|
40
40
|
|
41
41
|
|
42
42
|
|
43
|
+
HogeClassクラスはプロパティを持っています。このプロパティが消えてしまうのです。
|
44
|
+
|
45
|
+
ヘッダのプロパティ宣言は以下のようなものです。
|
46
|
+
|
47
|
+
```ObjectiveC
|
48
|
+
|
49
|
+
@interface HogeClass: NSObject
|
50
|
+
|
51
|
+
@property (nonatomic,weak) NSString *strProperty;
|
52
|
+
|
53
|
+
@property (nonatomic,weak) NSArray *nsArrayProperty;
|
54
|
+
|
55
|
+
@end
|
56
|
+
|
57
|
+
```
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
このうち、strPropertyは、return resultの時点で残っていたのですが、nsArrayPropertyはnilになってしまうのです。
|
62
|
+
|
43
|
-
|
63
|
+
個人的な予想としては、resultにHogeClassの参照を持っているので、HogeClass内のnsArrayPropertyの参照も消えない(リリースされない)と考えていました。しかし、なぜかnsArrayPropertyはnillになっています。
|
44
64
|
|
45
65
|
|
46
66
|
|