NSMutableArrayクラスにちょっと新しく、私は何か明白でないものがあると思います。NSMutableArrayの可視性の表示/保持
summaryWindow = [[SummaryWindowController alloc] init];
[summaryWindow setGlobalStatusArray:globalStatusArray];
IのようsummaryWindowオブジェクト内の受信方法を持っている:私はmy.mのようにオブジェクトが私のウィンドウコントローラにNSMutable配列を渡す有する
-(void)setGlobalStatusArray:(NSMutableArray *)myArray
{
if ([myArray count] >0) {
if (globalStatusArray) {
[globalStatusArray release];
}
globalStatusArray = [[NSMutableArray alloc] initWithArray:myArray];
NSLog(@"Summary Window Init with new array: %@",globalStatusArray);
ノーのNSLogを参照します今、私はglobalStatusArrayが
として私の.hファイルで宣言されてい- (NSMutableArray *)getGlobalStatusArray
{
return globalStatusArray;
}
:問題、およびその同じオブジェクト(summaryWindow)で、私は次のメソッドを持っています
NSMutableArray *globalStatusArray;
そうすべきではありません。これは私が使っているので保持されます:initWithArray?
私は別のIBActionメソッドでは、この値にアクセスしようとすると:
- (IBAction)refreshButtonClicked:(id)sender
{
NSLog(@"The user has clicked the update button");
[ aBuffer addObjectsFromArray: globalStatusArray];
NSLog(@"Buffer is currently:%@",aBuffer);
[tableView reloadData];
}
NSMutable配列がnullである
2011-08-18 10:40:35.599 App Name[65677:1307] The user has clicked the update button
2011-08-18 10:40:35.600 App Name[65677:1307] Buffer is currently:(
)
私は値すなわちを得るために、私自身の方法を使用して試してみました[自己getGlobalStatusArray]を、私は何か巨大なものを逃しています。
if ([myArray count] >0) {
if (globalStatusArray) {
[globalStatusArray release];
}
globalStatusArray = [[NSMutableArray alloc] initWithArray:myArray];
古い配列のカウントがゼロであれば、それは実際の配列オブジェクトをリークしています:FYI aBufferも
'nil'ではなく、配列が空であるように見えます。もしそれが 'nil'ならば'(null) 'を返すでしょう – albertamg