0
我有一個堆棧來填充一個視圖數組。用NSArray和NSMutableArray填充NSStackView
_countViewArray = [[NSArray alloc] init];
_countViewArray = @[self.a.view,self.b.view,self.c.view];
_stackView = [NSStackView stackViewWithViews:_countViewArray];
它工作的很好。 如果我想用一個可變數組替換這個數組,怎麼辦?
我嘗試此代碼爲「動態」堆棧視圖中,並最終轉換成可變數組簡單數組,但不工作:
_mutableCountViewArray = [[NSMutableArray alloc] init];
[_mutableCountViewArray addObject:@[self.a.view]];
if (caseCondition){
[_mutableCountViewArray addObject:@[self.b.view]];
}
[_mutableCountViewArray addObject:@[self.c.view]];
_countViewArray = [_mutableCountViewArray copy];
_stackView = [NSStackView stackViewWithViews:_countViewArray];
在consolle如果我打印可變數組我有:
(
(
"<NSView: 0x600000121ea0>"
),
(
"<NSView: 0x600000120780>"
,
(
"<NSView: 0x60000a0>"
)
)
我該如何解決?
嘿,謝謝!我不明白多餘的感覺。第一個代碼塊沒有可變數組,第二個數組的alloc被理解... – Joannes
@alfioal我的意思是說你可以安全地刪除這行'_countViewArray = [[NSArray alloc] init];'(在你使用的情況下第一個片段),因爲您在下一行再次爲'_countViewArray'指定了一個不同的值......我希望這是有道理的:) – Alladinian
啊,好的!我明白! – Joannes