私は IOS 開発に比較的慣れておらず、アプリケーション全体を通して、View Controller セグエ間で多くの情報を渡してきました。私は現在、このデータをクラウド データベースから取得しています。時間が経つにつれて、クラウド データが増加するにつれて、セグエを通過するデータが増加するのではないかと心配しています。これらのセグエで大量のデータを渡すのは悪い考えですか?最終的にこれらのセグエで比較的大きな配列 (1,000 から 2,000 要素) を渡す場合、アプリケーションのパフォーマンスにどのような影響がありますか? これが悪い考えである場合、他に何ができますか? 提案、ヒント、指針はすべて素晴らしいでしょう。ありがとうございました
質問する
397 次
2 に答える
0
強い/保持するプロパティへのポインターを渡すだけである限り、パフォーマンスに悪影響を与えることはありません。ポインターが設定されているだけで、オブジェクトがどのように見えるかは問題ではありません。
次のコードを想定します。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"otherSegue"]) {
OtherViewController *destViewController = segue.destinationViewController;
destViewController.dataArray = self.downloadedArray;
}
}
プロパティdataArray
onotherViewController
が強力または保持 ( @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 に答える