問題タブ [nsmutablearray]
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.
objective-c - XCode で配列の配列を作成する
Xcode でディクショナリ オブジェクトの配列を含む配列を作成しようとしています。1 つ以上の辞書を含む作業配列を作成し、addObject: メソッドを使用して、この配列をオブジェクトとしてメイン配列に追加できます。これを数回繰り返して、作業配列を再構築し、オブジェクトをメイン配列に追加します。私のメイン配列を調べると、作業配列が構築された最後の辞書の複製が含まれていることを除いて、これまでのところすべて問題ありません。これは、addObject を使用すると、配列にポインターが割り当てられるだけで、保持カウントが増加したり、作業配列のコピーが作成されたりしないため、再構築されるたびに、メイン配列が単純にこの配列を指しているためであると想定しています。 .
私の質問は、作業配列のコピーを作成してメイン配列に追加し、それを再構築して再度追加する方法だと思いますか? これが基本的な質問であると思われる場合は、それが理にかなっており、申し訳ありません.
これはすべて機能します。これは素晴らしいことです。私がまだ頭を抱えていないことの1つは、メイン配列を使い終えて[mainArrayリリース]も行うと、これらの子配列がメモリに残されるか、リリースが破棄される危険性があるということです彼らも?
すべてのオブジェクトを削除するのではなく、内部の作業配列を再初期化することで解決しました。つまり、
私は持っていました:
そしてそれを次のように変更しました:
これは良いことではないと感じていますが、あちこちでメモリリークが発生し始めます。
objective-c - NSArray を 2 つの等しい部分に分割する方法は?
私は NSArray を持っていて、それを 2 つの等しい部分に分割したい (「カウント」が奇数の場合は、後者の新しい配列に追加します) - いわば「真ん中に」分割したいのです。
次のコードはまさに私が望んでいることですが、より良い方法はありますか?:
leftArray と rightArray が作成されると、それらは変更されないため、「変更可能」である必要はありません。ObjectsAtIndexes メソッドまたはいくつかの高速列挙メソッドを使用して上記のコードを実現する方法があると思いますが、次のコード (または他のバリエーション) を機能させることができません。
私がこれで正しい方向に進んでいるか、正しい方向に向けているかを誰かが知っていますか?
ありがとう!
objective-c - NSMutableArray を NSArray に変換するにはどうすればよいですか?
Objective-cで NSMutableArray を NSArray に変換するにはどうすればよいですか?
objective-c - 可変配列値へのアクセス
appdelegate で 1 つの可変配列を作成しました。別のアプリでその可変配列の値を取得しようとしています。しかし、その時点でクラッシュしています。以下は、appdelegate で宣言したコードです。
以下は、appdelegate を介して別のアプリケーションの配列値にアクセスしようとしているコードです。
しかし、次の場所でクラッシュしています:
NSInteger selection = [[appDelegate.savedLocation objectAtIndex:0] integerValue];
クラッシュする理由と、これを行う正しい方法も教えてください。
objective-c - Objective C: 変数が NSArray か NSMutableArray かを確認する方法
変数が NSArray か NSMutableArray かを確認するにはどうすればよいですか?
iphone - 1つのUItableViewCellをNSMutableArrayからの奇数と偶数のエントリで埋める方法は?
UITableViewCellSTyleValue1を使用したuitableviewがあるので、テキストラベルと詳細テキストラベルがあります。
私が持っている2番目のものはNSMutableArrayです。ここで、textLabelsに偶数の項目を入力し、detailTextlabelsに奇数のエントリを入力します。
したがって、たとえば、セル1(ゼロ)はエントリ0を取得し、セル1は2と3を取得します。
今まで動かなかった。
iphone - NSKeyedArchiverを使用して保存されたNSMutableArray内のNSDictionaryから文字列を読み取る際の問題
一連のNSDictionariesを使用して一部のデータを保存し、NSMutableArrayに保存し、NSKeyedArchiverを使用してアーカイブします。
基本的に、クラス「Brick」のいくつかのインスタンスの状態を保存しようとしているので、このようなgetBlueprintメソッドを実装しました(スリム化バージョン)
そのため、ブループリントが提供されたときに新しいBrickインスタンスを作成する別のメソッドがあります。
これは、「新しい」ブループリントを渡すと機能しますが、保存されたファイルからブループリントを読み取ると機能しません...ある種。たとえば、回転は機能しますが、色を変更しても機能しません。だから私はbrickColorの値を使用して読むことができますが
私が次のようなことをしようとすると
そして、私は色が紫であることを知っています、条件は真に戻りません。どういうわけかNSKeyedUnarchiverが文字列を別のものに変更したのではないかと思いましたが、次のテストはtrueを返します。
私が言ったように、ブループリントがアーカイブされてから読み戻された場合にのみ、新しく作成されたNSDictionaryをブループリントとして使用しようとしても、これは問題ではありません。
だから、いつものように、なぜこれが起こっているのか誰かが何か考えを持っているのだろうかと思います。
関連する場合は、次のようにデータを保存および受信します。
質問の混乱について申し訳ありません。自分自身を完全に理解するのに苦労していることがたくさんあるので、それを最小限に分解するのは難しいです。
iphone - 値のないインデックスへの NSMutableArray へのアクセス
objectAtIndex:x で nsmutableArray にアクセスしようとすると、このインデックスにオブジェクトがない場合、アプリは常にクラッシュします。
私の質問は次のとおりです。アプリをクラッシュさせずに、このインデックスに何かがあるかどうかを確認するにはどうすればよいですか?
私の質問を理解していただければ幸いです。ありがとう、アレックス
objective-c - NSMutableArray addObject が機能しない
NSMutableArray *categories
ビュー コントローラー .h ファイルで を宣言し、そのプロパティを宣言しました。
私の .m ファイルのデリゲートのparser:foundCharacters:
メソッドには、次のコードがあります。NSXMLParser
しかし[self.categories addObject:element]
、デバッグモードでステップインした後にその行にカーソルを合わせると、XCode はサイズが 0x0, 0 オブジェクトであることを教えてくれます。私の XML ファイルには 3 つの要素があるため、3 つの項目が配列に含まれている必要があります。
本当に明らかな何かが欠けていて、何がわからないのですか。
iphone - 配列文字列の作成方法
私は学生の情報を含む NSMutableArray を持っています。今は学生の名前とその平均点のみを抽出したいので、私がしたこと
これを初めて実行できますが、自動スキャンを行うと、1回目、2回目、3回目のループを実行できますが、次のようにアプリが終了します。
2009-12-02 14:57:37.908 AppBuzz[13073:207] * キャッチされていない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。理由: '* -[NSCFArray insertObject:atIndex:]: nil を挿入しようとしています' 2009-12-02 14:57:37.916 AppBuzz[13073:207] Stack: ( 820145437, 837578260, 819694387, 819694291, 814683071, 814716415, 814716245, 17529, 24097, 814480795, 819893443, 819891231, 858682228, 861592624, 861585968, 8997, 8860 ) terminate called 「NSException」のインスタンスをスローした後、プログラムはシグナル「SIGABRT」を受け取りました。
これをどのように改善できるか
ありがとう