問題タブ [nsmutablestring]
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 - この文字列を生成する最良の方法は何ですか? (NSMutableString...)
キーが NSStrings でオブジェクトが NSArray である辞書があります。次に例を示します。
このようなエントリはたくさんありますが、これはほんの一例です。私がする必要があるのは、このような文字列を生成することです (例:
この文字列を NSPredicate にフィードします。この文字列を生成する最良の方法は何ですか? for ループや if などを使用できますが、もっとエレガントな方法はありますか? ありがとう。
objective-c - マッピングのキーとしての文字列
文字列キーを使用してオブジェクトを格納したいNSMutableDictionary
ので、次のように宣言しました。
szAsciiName
NSMutableString *
.h ファイルのように宣言されています。警告やエラーは出ていませんが、自分が行っている宣言が正しいかどうかを確認したいです。
編集:
やあ、
EXC_BAD_ACCESS 例外も発生しています。
objective-c - ObjectiveCでのNSStringおよびNSMutableStringオブジェクトの使用
プログラム全体で一連の文字列変数を使用する必要があります。私はそれらのいくつかをかなり頻繁に再割り当てしますが、他のものは実行中に同じ値で立ち往生しています。ここでのベストプラクティスは何ですか?
最初のケースでは、変数はである必要があり、オブジェクトを必要とする関数の引数である必要があるときはいつでも、(copyメソッドを使用して)変数NSMutableString
をキャストする必要があります。そうですか?NSString
NSString
それらを他の定数値に再割り当てするとき、前のコンテンツを破棄する必要はありませんよね?
オブジェクトに関しては、新しい値を割り当てる必要がある場合は、NSString
オブジェクトの割り当てを解除し、再度割り当ててから、新しい値を割り当てる必要があると思います。あれは正しいですか?
objective-c - Objective-CNSMutableStringのコピー
私は元の質問を説明するのに苦労したので、ここに2番目の刺し傷があります。トップダウンの観点から、ここに目標があります:
DDXMLを使用してXMLマップファイルを解析およびロードするマップクラスがあります。このマップファイルには、キャラクターがプレーヤーに表示するためのいくつかの文字列があり、これを解析してマップクラスに保存しています(NSMutableString *として)。イベントがトリガーされてこれらのメッセージの1つがプレーヤーに読み込まれると、ゲームループはそのNSMutableString *を取得し、一時的な仲介者オブジェクトにコピーします。その後、更新時に最終的にレンダリングオブジェクトに渡されます。クレイジーに思えますが、コードの完全なセットを見ると非常に理にかなっています(ハァッ、私は願っています!)。
SEEMSがメモリ上書きの状況になることを経験しています...2番目または3番目のパス(一時的な仲介者またはレンダリングオブジェクトのいずれか)でNSMutableStringにアクセスしようとすると、テクスチャ座標がおかしくなります。文字列自体は無傷のようですが、近くのメモリは無駄になっているように見えます。これらの読み取りがレンダリングの直前に行われるのと同じゲームループの反復で、クラッシュ(EXC_BAD_ADDRなど)が発生することがあります。
これはほぼ間違いなく、NSMutableStringsの(まだ)不十分な把握によるものだと思います。によって、文字列がロードされた後に文字列を編集する(たとえば、\ n文字を追加する)必要があるため、可変バージョンを使用しています。これが、私がしていることをよりよく説明するのに役立つかもしれないいくつかの関連するコードスニペットです:
レンダリングに使用されるTextSnippet構造は、次のようになります(簡潔にするために一部のデータは省略されています)。
マップ(DDXML)を読み取り、テキストメッセージを次のようにマップオブジェクトに保存します。(message->textはNSMutableString*text[MAX_TEXT_PER_MESSAGE]として定義されています。
次に、次のことを行います(注:これは本当に愚かで間違っている可能性があり、誰のビジネスのようにもメモリリークが発生していることは確かですが、急速に悪いアイデアを試しているだけで、これは最悪の最新のものです):
これは中間層です:
最後に、ループの後半で、実際にTextSnippet構造(この場合はm_msgText)に書き込むので、テキストをレンダリングできます。
私が言ったように、私は余分なコピーを行うのは一種の厄介なことだと知っています...私はこれを回避するために他のはるかに広範な書き直しを検討していますが、暫定的に...あなたがこれを行うにはどうすればよいですか? NSMutableString *をそんなに渡す必要がありましたか?問題はまだ別のものである可能性があると思いますが、中間層でNSMutableString*データをハードコードされた@""文字列定数に変更するたびに、メモリの問題は発生しません。ここで文字列を処理する方法に問題があるのではないでしょうか。
助けを提供しようとした元のポスターにもう一度感謝します-これがより有益であることを願っています。
objective-c - nsmutablestring を解放しようとするとアプリがクラッシュします。これについて助けてください
以下のように初期化NSMutableString
されます。
この文字列を dealloc メソッドで解放してアプリを実行しようとすると、アプリがクラッシュします。
このtemp1をリリースするにはどうすればよいか、いくつかの提案をお願いします
前もって感謝します
iphone - NSMutableString アクセスの問題
そのため、関数の外で書式設定された日付にアクセスして表示したいと思います。私が使用している日付形式については、NSDateFormatter
うまく機能します..
私の関数 ( didFinishUpdatesSuccessfully
) は何らかのアクションを実行し、成功した場合UIAlertView
はフォーマットされた日付を含む を表示します。すべて正常に動作します..
dateString
の値をグローバルに書き込むNSString
かNSMutableString
、コード内の別の場所、たとえば別の関数などにアクセスしたいと考えています。
私はこのようなものを作成することを考えましたNSMutableString
:
そしてどこかNSMutableString* lastUpdated = [NSMutableString stringWithFormat:@"%@",dateString];
にアクセスするために、しかしこの関数の外側は空です...助けてもらえますか?乾杯lastUpdated
lastUpdated
ios - IOS:NSMutableStringが先頭に立つ
私はこのコードを持っています:
NSLogは次のようになります。
「firstTextFieldtext」「secondTextFieldtext」ではありません
2番目のtextFieldは先頭に移動する必要がありますが、可能ですか?
objective-c - Foundation-NSMutableStringを返す
FoundationプログラムでNSMutableStringを返したい。ただし、次のエラーが発生します。
警告:セマンティックの問題:結果タイプが「int」の関数から「NSMutableString*」を返す整数変換への互換性のないポインター
次のコードの場合:
objective-c - 目的 - C - NSMutableAttributedString リーク
私は Obj-C の初心者で、いくつかのことを試しています。1 つのリークの問題に出くわしました。その背後にある論理的な理由を知りたいと思います。
次のコードがリークしています:
次のコードはリークしません:
誰かが理由を説明できますか?
objective-c - 文字列に変数を追加
私はObjective-CにやってくるJavaの男です。Java では、変数を文字列に追加するには、次の行に沿って何かを行う必要があります。
ただし、Objective-Cでそれを行う方法がわかりません。NSMutableString
文字列の途中に追加したい があります。どうすればこれを行うことができますか?
私はもう試した:
他にもいくつかありますが、どれも機能していないようです。また、+
s を,
s に置き換えました。