問題タブ [nsnull]
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 - NSManagedObject プロパティ値の NSNull 処理
my のプロパティの値を設定しています。NSManagedObject
これらの値はNSDictionary
、JSON ファイルから適切にシリアル化されたものから取得されています。私の問題は、値が の場合[NSNull null]
、プロパティに直接割り当てることができないことです。
これはNSInvalidArgumentException
代わりに値を簡単に確認して[NSNull null]
割り当てることができます。nil
しかし、これはエレガントではなく、設定するプロパティがたくさんあると面倒だと思います。
NSNumber
また、プロパティを扱う場合、これは難しくなります。
現在は次のNSInvalidArgumentException
とおりです。
この場合、値を[dict valueForKey:@"round"]
作成する前に処理する必要があります。NSUInteger
そして、1行のソリューションはなくなりました。
@try @catch ブロックを作成しようとしましたが、最初の値がキャッチされるとすぐに @try ブロック全体をジャンプし、次のプロパティは無視されます。
[NSNull null]
これを処理する、またはおそらくこれを完全に異なるが簡単にするより良い方法はありますか?
objective-c - タイプ NSString のプロパティが [NSNull null] になる場合
基本的な文字列トークンまたはエラー メッセージを返すために、いくつかの json を解析しています。
これを証明するテスト
これを実際のエンドポイントに配線するまではすべて順調でした-以下のようにコールバックを変更しない限り、それを見つけるためだけに-両方のコールバックを呼び出していました(私が望んでいたものではありません)
だから2部構成の質問
これを証明するテストを書けないのはなぜですか? エラーまたはトークンを NULL または NSNull に設定すると、いつでも正常に動作します (ただし、このコードは本番環境で動作するために必要でした)
を入れた場合、プロダクションコードが条件付きで失敗するのはなぜですか(ただし、シミュレーターで実行しているときに値をNSLogするとき
!= [NSNull null]
以外は何も取得できないようです?<null>
SomeResult オブジェクトでは、トークン/エラー プロパティが次のように表示されることに注意してください。
ios - ネストされたNSDictionaryでのNSNullの発生を置き換えます
この質問はこの質問に似ていますが、この方法は辞書のルートレベルでのみ機能します。
出現するNSNull
値を空の文字列に置き換えて、辞書全体をplistファイルに保存できるようにします(NSNullを追加すると、ファイルは書き込まれません)。
しかし、私の辞書にはネストされた辞書があります。このような:
私が使用する場合:
私はこのようなものを手に入れます:
NSNull
ネストされた辞書を含むすべての辞書からすべての値を見つける方法はありますか...?
編集: データはJSONフィードから取得されているため、受け取るデータは動的です(フィードが変更されるたびにアプリを更新する必要はありません)。
ios5 - iOS 5 以降で連絡先の姓が空の場合、アプリがクラッシュする
アドレス帳から連絡先を取得して、iOS の連絡先アプリと同じインデックス付きリストを使用してテーブル ビューに表示しようとしています。LAST NAME で連絡先を並べ替えています。姓が空の場合、アプリがクラッシュします。これが私のコードです
LAST NAME が EMPTY の場合、アプリがクラッシュします
姓が空であるかどうかを確認し、インデックス付きリストの UNNAMED セクションに表示するにはどうすればよいですか。どんな種類の助けも大歓迎です。前もって感謝します
objective-c - 削除方法はNSDictionaryからですか?
NSArray
nullを許可しない NSDictionariesの writeToFile メソッドを使用しようとしています。ループしてそれらを見つけて空NSString
のに置き換えるだけだと思いましたが、動作させることができません。これが私が試みていることです。
編集: NSArrays と NSDictionaries は NSJSONSerialization によって作成されます。
しかし、これは例外をスローします。*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[__NSCFDictionary setObject:forKey:]: mutating method sent to immutable object'
しかし、ご覧のとおり、すべての NSDictionaries は変更可能です。
調子はどう?これを行うより良い方法はありますか?
編集:新しいバージョンを別の回答に移動しました。
objective-c - このコードを整理するにはどうすればよいですか:
明らかに、これは 1 つの単純な理由で非常に面倒です。
BusinessToSave
マネージドオブジェクトです。
多くの場合、単純に nil になる必要があります。ただし、ディクショナリに nil 値を含めることはできず、代わりに NULL を返します。
だから私はただすることはできませんBusinessToSave.buildingName = dictInfoForThisBusiness[@"Building"]
じゃあどうすればいいの?
私が試したことの1つは次のとおりです。
私が試したもう一つのことは
nilIfNull が id を返すのに、ドット表記が機能する理由がわかりません
私は最終的に解決します
[dictInfoForThisBusiness[@"Building"] nilIfNull]
これは、NSString を期待する場合に機能します。より良い、またはより標準的な方法はありますか?
objective-c - NSMutableDictionaryおよび[NSNullnull]値
Ok。私は検索して無駄に検索しました、そして私はこれに頭を打ち続けています。
UITextFieldに空白の値があるかどうかを判断しようとしています。ある場合は、空白の文字列ではなく、null値をサーバーに送信します。
次のコード
これをログに記録します
[NSNull null]
でログに記録される理由がわかりません"<null>"
。ユーザーが値を入力しない場合、アプリはその文字列を都市として送信し続けます。明らかに、私が意図していたものではありません。ここではネットワークコールを表示していませんが、AFNetworkingを使用してこれを行っています。ただし、AFNを呼び出す前に、辞書にnullではなくその文字列が含まれていることを確認できます。だから私は問題がAFNにあるのではないことを知っています。
どんな助けでも大歓迎です。
objective-c - [NSNull performSelector:...] 問題を回避するために NSNull カテゴリのトリックを使用するのはコーシャですか?
私たちのプロジェクトでは、ネットワーク上に nil を含む JSON を返す何かがあると、iPhone アプリがクラッシュすることがあります。もちろん、そのような問題を処理するヘルパー クラスがあります。ただし、人々はエラーを起こしやすく、独自の stringForKey や dateForKey などの代わりに NSDictionary で objectForKey を呼び出します。今、そのようなすべての問題を完全に殺すクラスがあります: https://github.com/nicklockwood /NullSafe
私の質問は: NullSafe は本当に安全ですか? ロジックが間違っていて NSNull が発生した場合に、プログラムをクラッシュさせたい場合があるからです。問題を無視するだけで、問題が隠されます。アプリはおそらくクラッシュしませんが、場合によっては奇妙なことが起こります。
現在、私はこのクラスを使用せず、値を取得しようとする前に、JSON NSDictionaries がすべての NSNull でフィルター処理されていることを確認することに傾いています (ただし、パフォーマンスに影響する可能性があります)。
皆さんはどう思いますか?
objective-c - サブクラスの代わりに呼び出されるスーパークラスのObjectiveCセッター
UILabelをサブクラス化しようとしているので、指定されたパラメーターがNSNULLの場合、セッターsetTextがnullをチェックして、これを回避します。[NSNull isEqualToString:]:認識されないセレクターがインスタンスに送信されます
コードは以下の通りです。デバッガーをステップスルーしましたが、呼び出した新しいセッターには入りませんでした。
ここで、someSubClassLabelはUILabelWithNULLHandlerです。
.hで
.mでメソッドを定義しました:
編集:nilを処理するコードを追加できると思いますが、当面は、NSDictionaryから取得したNSNUllを処理しています。
iphone - NSMutableArray から NULL 値を削除する方法は? iOS
配列がFacebookから埋められているので、私は生年月日の配列を持っているので、生年月日が非公開であるため、NULLが含まれている友人がいます.null値がある場合はどこでもその配列を空の文字列のように変換する方法は次のとおりです。配列は以下のようになります