0

ここARCの下での正しいアプローチを知りたいです。

コントローラー内に強力な NSArray (独自のカスタム クラス オブジェクト) @property があり、別のコントローラーを初期化するときに、これらの配列から弱い別のコントローラーのポインターに NSString を 1 つだけ渡す必要があります。しかし、これをソートする必要があるため、これは好きではありません

メインコントローラーで

    _leftPanelViewController.repotLabels = [[self.availableDashBoards sortedArrayUsingDescriptors:@[sortByReportLabel]]];

そして、もう一方のコントローラーには

    @property(nonatomic, strong)NSArray *repotLabels;

1)私が理解したように、最初は別のウィークポインターに割り当てるウィークポインターを返すので、mainController のコードが範囲外になると、reportLabel は「nil」になりますか?

2) reportLabels プロパティ (strong) を作成すると、問題は解決しますが、他のアプローチはありますか? 最後にこの「コピー」のようなこともするべきですか?

    _leftPanelViewController.repotLabels = [[self.availableDashBoards sortedArrayUsingDescriptors:@[sortByReportLabel]]copy];
4

1 に答える 1