問題タブ [nsnumber]

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 に答える
1612 参照

iphone - NSSortDescriptor で NSNumber をどのようにソートしますか?

NSSortDescriptor を使用して NSNumber をソートするのに問題があります。何らかの理由で、正しい順序に並べ替えられません。私は何を間違っていますか?

xcdataModel で Int32 として定義され、このクラスによって呼び出されて並べ替えられます。

編集:ええ、寒い日の光の中で、これにはもう少し説明が必要です. 私はプロジェクトを説明しようとします。これは CoreData アプリです。値 'capacity' と 'availability' は、SAX を使用して XML ファイルを解析し、それらを管理オブジェクト モデルに添付することで得られます。これらは文字列として定義されます。元々 XML では数値でした。

これらは、上記の計算が行われたクラスで定義され、同じオブジェクト モデルにアタッチされます (上記のコードが正しい場合、問題はおそらくここにあるのでしょうか?)。これはすべて、TableView の並べ替えに使用するパーセンテージ値を取得するための努力です。(ところで、私は彼らが交換する必要があることに気づきました、おっと)コードの 2 番目のビットは、NSFetchResultsController と ManagedObjectContext を使用してこれが行われる場所です。selectedSegmentIndex == 0 などの場合に設定された他の属性によってこのリストを並べ替えているため、このビットが機能することはわかっています。それらはすべて正しく並べ替えられます。

これがもう少し理にかなっていることを願っています。

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

iphone - XCode警告:初期化により、キャストなしで整数からポインターが作成されます(NSNumberに値を割り当てようとしている間)

小さな iPhone アプリを開発しようとしているときに、Xcode で警告が表示されます。私は Xcode にこのコードを持っています:

NSNumber *randomNumber = arc4random() % [配列数];

NSLog randomNumber の場合、すべてが機能しているように見えますが、Xcode は次のように警告し続けます。

初期化により、キャストなしで整数からポインターが作成されます

わからなかったことがあるはずです。私を助けてくれてありがとう:)

0 投票する
4 に答える
13911 参照

objective-c - NSNumber 秒から時、分、秒

簡単にできるはずのことをしようとして、ひどい時間を過ごしています。NSNumber の値は 32025.89 秒です。それを時、分、秒で表す必要があります。それを吐き出す方法はありますか?適切なフォーマッタが見つからないようです。

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

iphone - NSNumber、設定と取得

iPhoneアプリのNSNumberをいじっていて、それで何ができるかを見ています。私の変数のほとんどは、「int」または「float」などとして単純に保存します。ただし、オブジェクト (辞書など) を渡す必要がある場合は、それらをオブジェクトとして必要とします。私はNSNUMberを使用しています。これは、オブジェクトを初期化する方法です。

ここで、「varMoney」は int で、プログラムの前半で宣言しました。しかし、その番号を元に戻す方法がまったくわかりません...

例えば:

オブジェクトから値を取得して、通常の「int」に再度設定するにはどうすればよいですか?

ありがとう!

(好奇心から、「int」を最初に NSNumber に入れずに、Objective-C 辞書に直接格納する方法はありますか?)

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

iphone - 辞書にintを保存する

私が理解しているように、Objective-Cではオブジェクトを辞書に入れることしかできません。したがって、辞書を作成する場合は、すべてのオブジェクトが必要になります。これは、自分のintをNSNumberとして入力する必要があることを意味します。

すっごく...

ここで、varMoneyは以前に宣言されたintです。私の質問は、「int」をNSNumberに入れるよりも、辞書に保存する方が良い方法はありますか?

ありがとう!

編集:04/25/13

この質問をしてから久しぶりです。将来それを見つけた人のために、Apple LLVMコンパイラ4.0を使用してこれを行う簡単な方法があります。これは、Xcodeで少しデフォルトになっています。(アーク)

これで、@1337構文を使用してNSNumberオブジェクトをすばやく作成できます。変数で動作するので、上記は次のようになります。

また

よりシンプル。

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

nsnumber - 計算目的で NSNumber オブジェクトを変換する方法は?

私は、スキャナーを使用して、x と y などの文字列から NSNumbers にアクセスするコードを開発しています。

ここで、x と y から単純なものを計算したいと思います。たとえば、z = 10.0/(x + y/60.0)/60.0) です。コンパイラは数値オブジェクトに適用される通常の算術記号を好まないため、これを直接行うことはできません。

そこで、double 型の xD と yD を​​定義してから、型変換を試みました。

xD = (ダブル) x; yD = (ダブル) y;

しかし、それもコンパイルエラーになります。NSNumber オブジェクトを通常の算術式で使用できるように変換するにはどうすればよいでしょうか? 文献をかなり閲覧しましたが、答えが見つかりませんでした。

助けてくれてありがとう。

ジョン・ドナー

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

iphone - 追加の [ファントム] 精度を追加する NSNumber doubleValue としてキャスト

iPhone SDK 3.2.1

myDict の説明をコンソールに出力すると、次のようになります。

myDict の説明の出力: {type = mutable, count = 2, capacity = 3,pairs = ( 0 : {contents = "testDoubleObject"} = {value = +0.10000000149011611938, type = kCFNumberFloat64Type} 1 : {contents = "testDoubleValue"} = {値 = +0.10000000149011611938、タイプ = kCFNumberFloat64Type} )}

double を dict から引き戻すと、これらの幻の数字が保持されていることがわかります。

doubleFromObject と doubleFromValue を出力すると、コンソールに次のように表示されます。

doubleFromObject の出力説明: {value = +0.10000000149011611938, type = kCFNumberFloat64Type}

doubleFromValue の出力説明: {value = +0.10000000149011611938, type = kCFNumberFloat64Type}

文字列から NSNumber doubleValue を作成しようとすると、同じことが起こります。

doubleAsANumber を出力すると、コンソールに次のように表示されます。

doubleAsANumber の出力説明: {value = +0.10000000000000000555, type = kCFNumberFloat64Type}

これらの余分な幻の数字が問題を引き起こしています。

1) これが起こる原因は何ですか?

2) 余分な幻の数字を取り除くにはどうすればよいですか?

0 投票する
6 に答える
356 参照

c - double と text との間のラウンドトリップ

Cocoa または基本的な c を使用して、double を文字列表現に変換してから、まったく同じ double に戻すにはどうすればよいですか。読みやすさは重要ではなく、正確さだけが重要です。たとえば、これは機能しますか
? double a,b;
a=何らかの値;
b=[[[NSNumber numberWithDouble:a] stringValue] doubleValue];

0 投票する
4 に答える
301 参照

java - intValue が必要なときに NSNumber のポインターを誤って使用しないようにするにはどうすればよいですか?

私が本当に気に入っている Java の機能の 1 つは、コンパイラがプリミティブとそのラッパー クラスを自動的に変換するオートボクシングです。

Objective-C/Cocoa で Core Data アプリケーションを作成していますが、整数属性をプログラムで処理するのが面倒です。理由は次のとおりです。

たまたまintValueメッセージを忘れてしまった場合 (時々そうします)、渡される intstringWithFormat:は実際にはポインター値です。

問題は、これが完全にサイレントに発生することです。コンパイラ エラーや警告は発生しません。このばかげた、ばかげたことが問題である場合、デバッグに時間がかかりすぎることがあります。

プログラミング スタイルやコンパイラの設定を変更して、その罠に陥らないようにする方法はありますか?

編集:上記の例は、私が問題に遭遇する多くの場所の1つにすぎないという事実について明確ではありませんでした. 文字列とは関係のない別の架空の例を次に示します。

エンティティCollegeClassには、 と の 2 つの整数属性がcourseNumberありenrollmentLimitます。コース番号を比較したいとしましょう:

または、同様に、CS 部門のすべてのクラスの平均登録制限を計算したいとします。

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

iphone - UIBarButtonItem タグの NSArray (つまり NSInteger)

NSIntegers の NSMutableArray を持てないというのは本当ですか? 値を配列に追加して出力しようとすると、それらは膨大な数になります (タグを NSLog に出力すると、0、1、2、3 などになります)。

注文を保存して後で取得できるように、UITabBarItem のタグの配列を作成しようとしています。NSNumber に変換して配列に格納し、起動時に変換して整数値を取得する必要がありますか?

助けてくれてありがとう。