問題タブ [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 - Cocoaでスパース配列を実行する方法
一意の整数キーに基づくデータセットのサイズが未定です。
NSMutableArray
すべてのキーが整数ベースであるため、高速ルックアップにを使用したいと思います。
これをやりたいです。
その後、人々は整数インデックス(すべて一意)を使用してデータを私に投げ始めるので、私はこのようなことをしたいだけです...
配列のサイズを変更して、次のことができるようにします...
最後のサイズと新しいサイズの間のすべてのスロットはゼロであり、最終的には後で埋められます。
だから私の質問は、既存のサイズを変更するにはどうすればよいNSMutableArray
ですか?
ありがとう、ローマン
cocoa - NSMutableArray-文字列で検索して配列インデックス整数を取得
私はNSMutableArrayを使用しており、を使用して配列からオブジェクトを取得するのに問題はありませんでしたobjectAtIndex:int
。むしろ、整数で配列からオブジェクトを引き出すことは、文字列で配列を検索することによってインデックス位置を取得する方法です。
うまくいけば、これは理にかなっており、そこに答えがあります。私はオンラインで調べて、グーグルやアップルのクラス参照から何かを見つけることができませんでした。
iphone - NSMutableArray の -removeLastObject はオブジェクトを解放しますか?
NSMutableArray の -removeAllObjects、-removeLastObject などのメソッドについて話しています。ドキュメントには、これらのメソッドがオブジェクトを配列から「削除」するとのみ記載されています。除去されたオブジェクトは解放されますか?
iphone - -arrayWithArrayは実際に何をしますか?
配列がどのように作成されるかを正確に確認したいと思います。それがどのように行われたかを示す.mファイルを表示するにはどうすればよいですか?
iphone - mallocされた構造体を持つNSMutableArrayaddobject
コードのスニペットに問題があります。addObjectメソッドを使用してCLLocationCoordinate2DのインスタンスをNSMutable配列に追加しようとしていますが、行が実行されるたびにアプリがクラッシュします。このコードに明らかな問題はありますか?
クラッシュは次の行にあります:
Polygon.m:
objective-c - NSMutableArray パラメータによるメモリ リークの受け渡し
私はここで難しい問題を抱えています。何か助けていただければ幸いです =)
私は、Objective-C/iPhone/Cocoa を初めて使用する経験豊富な開発者です。
NSMutableArray をパラメーターとして渡すことができるクラス コントローラーを作成したいと考えています。
次に、次のようになります。
この listOfIntervals は、すでに alloc/init NSMutableArray* です。
私の SingleSelectPickerViewController には、次のものがあります。
デバッグを通じて、SingleSelectPickerViewController で作成されている listOfIntervals を確認できます。
ここに、SingleSelectPickerViewController の dealloc があります。
しかし、SingleSelectViewController をインスタンス化するたびに、直後に次のスタックで EXEC_BAD_ADDRESS を受け取ります。
何が起こっているのか分かりますか?
cocoa - Can I shift the objects in a NSMutableArray without creating a temporary array?
I thought I had it with,
which turns 0,1,2,3,4 into 0,2,3,4,1 when I shift by one.
The expected result is 4,0,1,2,3
I feel like I'm missing something obvious...
Update: Thanks Matthieu, this is what my function looks like now.
I didn't know you could make a generic NSObject and put some subclass in it. It's all just pointers so I guess it's OK, right?
It's hard to break the habit of thinking of these objects as bags of stuff rather than pointers to the bag.
objective-c - Objective-C でテーブルに行を追加する
私は Objective-C を初めて使用し、テーブルに新しい行を追加しようとして多くの問題を抱えています。それが機能すると想定される方法は、アプリがアラートをロードすると、新しい構成を開始するか、保存された構成をロードするか、最後の構成を再開するかをユーザーに尋ねるポップアップが表示されます。新しい構成の開始を選択すると、新しい名前を入力するように求められます。完了をタップすると、アプリは新しい構成をテーブルに保存します。
現在、テーブルに 1 つの構成のみを保存するようにアプリを取得することしかできませんが、ユーザーが別の新しい構成を作成しようとすると、アプリがクラッシュします。私のコードは次のようになります。
私はこのことについて多くのことを読んできましたが、これは難しすぎるべきではないようです. また、主な問題は、「配列」にはインデックスが 1 つしかなく、ユーザーが別のインデックスを追加しようとすると、アプリがクラッシュすることだと思います。
誰かが私を助けて、私が間違っていることと、どうすれば正しくできるか教えてもらえますか? お願いします!...それとも、私を正しい方向に向けるだけですか?
iphone - 同じ NSArray を再利用せずに NSArray の Objective-C NSDictionary を作成するにはどうすればよいですか?
長年の Windows 開発者であり、初めての Objective-C/iPhone 開発者は、アルファベットのセクションを持つプレーンな UITableView に表示できる NSArrays の NSDictionary を作成したいと考えています。
この配列のディクショナリのソースは、アルファベット順に並べ替えられた店舗名を含む配列です。
Apple Store
Atlanta Bread Company
Borders
Build-A-Bear Workshop
Cargill Gallery
Dillards
Dick's Sporting Goods
Eddie Baure
FootLocker
GameStop
Heizberg Diamonds
LensCrafters
McDonald's
Nordstrom
Payless Shoe Source
Pottery Barn
Solstice
Starbucks Coffee
Victoria's Secret
White Barn Candle Co.
ソースから作成された配列のディクショナリは、次のようになります (括弧内のデータ型)。
ルート (辞書)
....A (配列)
........Apple Store (文字列)
........Atlanta Bread Company (文字列)
....B (配列)
... .....Borders (文字列)
.........Build-A-Bear Workshop (文字列)
....C (配列)
.........Cargill Gallery (文字列)
... .D (配列)
........Dillards (文字列)
........Dick's Sporting Goods (文字列)
....など
上記の構造のような配列のディクショナリが TableView に入力され、次のように表示されます。
A
Apple Store
Atlanta Bread Company
B
Borders
Build-A-Bear Workshop
C
Cargill Gallery
D
Dillards
Dick's Sporting Goods
など
私が書いた、配列のディクショナリを作成するコードは、各セクション ヘッダーの後に最後のストア (White Barn Candle Co.) を配置することになります。
A
ホワイトバーンキャンドル社
B
ホワイトバーンキャンドル社
C
ホワイトバーンキャンドル社
D
ホワイトバーンキャンドル社
他
これは、一時配列を再利用し、A を入れたり、消去したり、B を入れたり、消去したりしたために発生していることに気付きました。ソース配列から配列の辞書を作成する実際のコードは次のとおりです。
26 個の異なる配列を作成し、switch ステートメントを使用して正しい配列を選択することで、これを「ブルート フォース」できることはわかっていますが、実際にはそうしたくありません。Objective-C に詳しい人が、より洗練されたソリューションを提供してくれると思いました。
前もって感謝します。さらに情報が必要な場合はお知らせください。
binding - フィルター述語を使用して NSTableView で選択された行インデックスを取得する際の問題
これを適切に表現しているかどうかはわかりませんが、基本的にはメイン アプリのデリゲートでこれを行います。
Application *app = [[Application alloc] initWithApplication:fullPath]
Application クラスには、アプリのパスを受け取り、appPath や名前などのプロパティを設定する initWithApplication メソッドがあります。次に、新しい「アプリ」オブジェクトをアプリケーションの NSMutableArray に追加します。
NSArrayController のコンテンツ配列はアプリケーションの NSMutableArray にバインドされ、さまざまなキー (appPath、名前など) が NSArrayController に設定されます。次に、名前の 1 つの列、パスの 1 つの列など、さまざまなプロパティにバインドされたさまざまな列を含むテーブル ビューを作成します。
次に、テーブル ビューで選択されたアプリを起動する起動ボタンがあります。これには、次のコードを使用します。
次に、現在選択されているアイテムのパスへの参照として「app.appPath」を使用します。これはうまくいきます。この問題は、filterPredicate を使用してテーブル ビューのコンテンツをフィルター処理するときに発生します。基本的に、テーブル ビュー内のすべてのアプリを除外し、検索ボックスに入力されたフレーズを名前に含むアプリのみを残します。
上記の方法は、テーブル ビュー内のアイテムのインデックスを取得するため機能しません。また、すべてのアイテムがテーブル ビューにないため、カウントがめちゃくちゃになります。たとえば、アプリケーション配列のインデックス 25 のアイテムである MyApp.app というアプリがあるとします。
上記のコードは、tableView と applications 配列に同じ数のオブジェクトがあるため、うまく機能します。ただし、テーブル ビューのコンテンツを除外すると、オブジェクトの数に違いが生じるため、間違ったアプリが起動されます。
私の説明があまり混乱しないことを願っていますが、説明するのは難しいです. これを回避する方法はありますか?
ありがとう