2017-05-29 9 views
2

APIを使用してデータを取得するiOSアプリケーションがあります。 これまですべてが正常に機能していました。しかし、ログイン後にアプリがクラッシュしているようです。'NSNull'型の値を 'NSNumber'にキャストできません

func Evaluate(response:NSDictionary) 
{ 
    ClientWorkoutID = response["clientworkout_id"] as! Int 
    ProgramUserID = response["clientworkout_userid"] as! Int 
    ProgramID = response["clientworkout_programid"] as! Int 
    WorkoutID = response["clientworkout_workoutid"] as! Int 
    WorkoutWeek = response["clientworkout_week"] as! Int 
    WorkoutDay = response["clientworkout_day"] as! Int 
    DayType = response["clientworkout_daytype"] as! Int 
    ExType = response["clientworkout_extype"] as! Int 
    MuscleGroup = response["clientworkout_musclegroup"] as! Int 
    ExName = response["clientworkout_exname"] as? String ?? "" 

    ExID = response["clientworkout_exid"] as! Int 

    Order = 7 * (WorkoutWeek - 1) + WorkoutDay 
    SetCount = response["clientworkout_sets"] as! Int 
    Sets = response["clientworkout_setcontent"] as? String ?? "" 
    SetInfo = response["clientworkout_setinfo"] as? String ?? "" 
    ExerciseProgress = response["clientworkout_exprogress"] as! Double 
    DayProgress = response["clientworkout_dayprogress"] as! Double 
} 

エラーが行129にあります:私は答えhereを試してみた

enter image description here

ここに私のコードです。 phpmyadmin/MySQLデータベースもチェックしましたが、問題の原因となるものはありません。

enter image description here

+1

...サーバがない場合は、あなたの強制キャストのそれぞれがクラッシュすることもできます。例として、正確にあなたが期待するものを送りなさい。 –

答えて

1

使用をチェックしてみましょうか、ガードif文。単にJSONで「clientworkout_exid」**の値がnullで**はない数であることを意味することに

if let link = dict["somethingToCheck"] as? String 
{ 
    //if code execute 
} 
else { 
    //else code execute 
}