問題タブ [fast-enumeration]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
85 参照

cocoa - 高速列挙中に「スコア」をインクリメントする方法

ユーザーの回答を確認し、スコア (5 点満点) を出力するために使用したい次のコードがあります。回答を含む plist を使用し、それに対して textField.text をチェックします。私が苦労しているのは、この方法を使用して合計として出力スコアを取得する方法ですか?

どんな助けでも大歓迎です!どうもありがとう。

0 投票する
3 に答える
396 参照

objective-c - NSArray から特定の長さの文字列を取得するには?

NSArray で特定の長さの文字列を取得したい。

配列には多くの要素があり、高速な列挙を使用したくありません。

可能な方法はありますか?

0 投票する
1 に答える
138 参照

cocoa - テキストフィールドを介したユーザー入力の確認

私はこれにかなりの数日間苦労してきました。私のアプリには、画像のラベル付けを表すuitextfieldsを含む図があります。ユーザー入力を辞書と照合して(回答を求めて)、正しければスコアを1増やします。textfield.textクエリのそれぞれに独自のifステートメントを「ハードコーディング」して動作させました。 、しかし、可能であれば、より良い、より再利用可能な方法が欲しいですか?私はこれまでこれを試しました:

問題は、答えが間違ったテキストフィールドにある場合でも、1つが正しければ、すべてが正しく表示されることです。これはちょっと恥ずかしいことです。どんな助けでも大歓迎です。

0 投票する
1 に答える
101 参照

cocoa - コピーアンドペーストを回避する方法は?

可能であれば、この方法を改善したいと思います。これは、すべてのテキストフィールド(接眼レンズ、対物レンズなど)のテキストが保存される小さなセクションです。残念ながら、アプリの各部分でこれを何度も実行しなければならないことはエラーが発生しやすいので、改善したいと思います。メソッドの引数がテキストフィールドなどである、ある種の高速列挙を考えています。辞書(すでに設定されている)にすべてのキーを含めることができます。適切なドキュメントへのポインタ、またはおそらく、あなたのために働いたある種のプロセスは素晴らしいでしょう!

お時間を割いていただきありがとうございます!

0 投票する
1 に答える
3088 参照

ios - iOS-コアデータ-リレーションシップとフェッチリクエストを使用してレコードを削除します

概要:

コアデータを使用しているiOSプロジェクトがあります

  • 私にはEmployees実体と実体がありDepartmentます。
  • 1つの部門に多くの従業員を含めることができます
  • したがって、エンティティDepartmentはエンティティと「多すぎる」関係を持ちEmployees、その関係は呼び出されemployees、逆の関係は呼び出されますwhichDepartment

目的-1:

特定の部署の全社員を削除したい

質問:

a)次は正しいですか、それとも突然変異やいくつかの問題を引き起こしますか?

b)これは正しい方法ですか?

Pls注-removeEmployeesエンティティのサブクラスの作成中に自動生成されたメソッドです

目的-2:

  • 何らかの条件で従業員を削除したい
  • フェッチされたレコードの高速列挙ループ内のオブジェクトを削除しています

質問:

c)次は正しいですか、それとも何らかの突然変異を引き起こしますか?

d)高速列挙でオブジェクトを変更するようなものですか?

e)それを行うためのより良い方法はありますか?

Pls注-removeEmployeesエンティティのサブクラスの作成中に自動生成されたメソッドです

0 投票する
3 に答える
106 参照

objective-c - 高速列挙で引数を解放しますか

高速列挙で引数を解放しますか? したがって、このコードは正確でしょうか:

高速列挙を初めて使用するのは不思議です。

0 投票する
3 に答える
3004 参照

objective-c - 私のクラスに高速列挙を採用/実装する例は?

作成しているクラスに(iOS / Objective Cで)高速列挙プロトコルを採用する方法を理解しようとしています。Appleのドキュメントのセクションを読みましたが、...よくわかりません。

誰かが私が見ることができるいくつかのサンプルコードを持っていますか?

私がやろうとしていること:送信者に反復させたいオブジェクトの配列があります。送信者は、for-in構造を使用したいと考えています。問題は、送信者に配列内のすべてのオブジェクトを表示させたくないということです。これらのオブジェクトの一部は、アプリケーションのコンテキストでは有効ではないためです。

つまり、イテレータが特定の条件に一致する配列内のオブジェクトのサブセットを返すようにします。

速度が低下しないように、プロセスで新しい配列を作成したくない。

0 投票する
2 に答える
149 参照

iphone - Objective-Cで多くのNSArrayのオブジェクトを高速に列挙して比較する方法は?

次のように、iPhoneアプリケーションのフォルダーにさまざまなファイルがNSArray保存されています。.datDocuments

ファイルの数.datは不明であり、ユーザーのアプリ操作に関連するさまざまな要因に応じて増減します。

ファイルNSArray'sに保存されているこれらの内容は何ですか? .dat含まれていますNSString'scountNSArray ごとに次のように変化すると言うことが重要です。

等..

特定のイベントをユーザーに通知するために、NSStringこれらのそれぞれが変更されているかどうかを定期的に確認する必要があります。NSArray'sインターネットから XML 解析を行った後、以前にフォルダーに保存されたNSArray'sそれぞれ.datのファイルに対応する新しいものを既にメモリに保持できDocumentsます。

多くの .datファイルがあるので、私の質問は次のとおりです。

(この XML 解析の結果として) メモリ内に ある新しいなどを効率的に比較し、フォルダー内の対応する などのファイルに格納されている古いものと比較して通知するにどうすればよいです( etc... )のいずれかが変更された場合、ユーザーは?NSArray's (NSArray *john, *mary, *bobjohn.dat, mary.dat, bob.datDocumentsNSString's"Mon, 11 Jun 2012 04:52:06 GMT","Tue, 12 Jun 2012 04:51:59 GMT",

ご協力いただきありがとうございます!

0 投票する
2 に答える
427 参照

objective-c - for-in 構文を使用した 2 次元配列のトラバース

次のような 2 次元配列をトラバースしています。

ただし、下位の配列のデータにアクセスするにはどうすればよいですか? この次のコードは機能しませんが、私が何を意味するかについてのアイデアを提供します:

0 投票する
1 に答える
1871 参照

objective-c - ネストされた列挙 (テスト結果を含む) の for ループよりも高速な列挙は遅いですか?

まったく同じことのように見えるトピックがかなりあることは知っていますが、本当に私が望んでいたことに関するトピックは見つかりませんでした.

そこで、私は興味があり、Fast Enumeration のパフォーマンスを NSEnumerator および for ループと比較したいと考えました。(よく聞かれる部分です)

まず、高速列挙を比較しました。

NSEnumerator:

ループの場合:

testArrayは 0 から 1,000,000 までの NSNumbers で構成される配列で、テストを 100 回ずつ実行し、各テストの平均実行時間を計算しました。

また、iPad 2で実行しました

結果: (全 100 回の実行の平均時間)

  • 0.042687 秒の高速列挙
  • 0.582072s NSEnumerator
  • 0.627318 秒の for ループ

予想どおり、Fast Enumeration は群を抜いて最速であり、NSEnumerator は for ループよりも少し高速ですが、これは大きな配列を列挙するためのものでした。

では、あまり頻繁ではない質問を次に示します。

実際、私は別のことに興味がありました: 配列内の各オブジェクトを互いに比較するための配列内の列挙

ネストされた for ループでの最初の試行:

これらのテストでは、配列のサイズと実行回数を減らして妥当な時間内に実行する必要がありました。これは、繰り返し回数が当然 O(n^2) で増加するためです。そこで、5.000 NSNumbers の配列でそれらを実行し、テストを 5 回繰り返しました。

結果: 1 回の実行で7.360645 秒

だから私は、確かに、速い列挙はもっと速いはずだと思った。しかし、要素の各ペアを 2 回比較することを避けるために三角形のパターンを実現するには、外側のループの Fast Enumeration と内側のループの NSEnumerator を混在させる必要がありました。

そして驚いたことに、これはずっと遅かった: 1 回の実行で18.086980 秒

次に、外側のループに Fast Enumeration を使用し、内側のループに for ループを使用して、ハイブリッド バージョンも試しました。

結果: 1 回の実行で7.079600 秒

単純な for ループよりもわずかに高速です。

数字を 1 か所に:

  • 07.360645 秒の for ループ
  • 07.079600sハイブリッド
  • 18.086980s高速列挙

だから、それはなぜだろうか?高速列挙は「中断されていない」場合にのみうまく機能しますか? NSEnumerator の使用は高速列挙に干渉しますか? それとも、何かが足りないだけで、メソッドが間違っていますか?