0

私は IOS 開発に比較的慣れておらず、アプリケーション全体を通して、View Controller セグエ間で多くの情報を渡してきました。私は現在、このデータをクラウド データベースから取得しています。時間が経つにつれて、クラウド データが増加するにつれて、セグエを通過するデータが増加するのではないかと心配しています。これらのセグエで大量のデータを渡すのは悪い考えですか?最終的にこれらのセグエで比較的大きな配列 (1,000 から 2,000 要素) を渡す場合、アプリケーションのパフォーマンスにどのような影響がありますか? これが悪い考えである場合、他に何ができますか? 提案、ヒント、指針はすべて素晴らしいでしょう。ありがとうございました

4

2 に答える 2

0

強い/保持するプロパティへのポインターを渡すだけである限り、パフォーマンスに悪影響を与えることはありません。ポインターが設定されているだけで、オブジェクトがどのように見えるかは問題ではありません。

次のコードを想定します。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{
    if ([segue.identifier isEqualToString:@"otherSegue"]) {
        OtherViewController *destViewController = segue.destinationViewController;
        destViewController.dataArray = self.downloadedArray;
    }
}

プロパティdataArrayonotherViewControllerが強力または保持 ( @property (strong) NSArray *dataArray;) である限り、ポインターだけが渡されるため、そのコードの実行時間は配列のサイズによって増加することはありません。

于 2013-07-16T08:24:57.180 に答える
0

私は実際にはストーリーボードを使用していませんが、グーグルで簡単に見てみると、次のことがわかりました。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segue.identifier isEqualToString:@"showRecipeDetail"]) {
        NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
        RecipeDetailViewController *destViewController = segue.destinationViewController;
        destViewController.recipeName = [recipes objectAtIndex:indexPath.row];
    }
}
于 2013-07-16T08:11:55.663 に答える