2017-10-23 13 views
0

のObjective Cの左辺値で:型のパラメータ初期化できません「IDを_NonNull」タイプのダブル

私は私がする配列に入れたい複数のdouble型の変数、長い長い、NSStringのint型を持っていますCSVファイルに1行として出力されます。

NSArray * [NSArray arrayWithObjects:var1、var2、var3、var4、var5、nil];

ここで、var1はdouble型で、var2、var3はlong long型です。

これは私が客観Cで初心者だVAR1

で「double型の左辺値で 『_NonNull ID』型のパラメータを初期化できません」と言ってくれ構文エラーを与え、何を把握することができません私は間違っている。

答えて

2

Objective-CのNSArray(およびNSDictionary)の内容はオブジェクトでなければなりません。すべてのスカラー型intdoubleなどはオブジェクトではありません。

簡単な解決策があります:

ラップショートカットのすべてのスカラー型NSNumber初期化子@()

double var1 = 12.0; 
NSString *var2 = @"Foo"; 
NSArray *valArray = [NSArray arrayWithObjects: @(var1), var2, nil]; 

かまだ短いが

NSArray *valArray = @[@(var1), var2]; 

配列からバックdoubleタイプを取得するにはあなたは書く必要があります

double var3 = valArray[0].doubleValue; 

サイドノート:変数名は小文字で始まるはずです。

+0

ありがとうございました。それが助けになった –

1

var1、var2、var3をNSNumberに変換して解決します。

関連する問題