モデル オブジェクト ( ) のプロパティの 1 つからラベルのテキストを設定しようとしていますがsearchRecipeDetailsVariable
、エラーが発生します。
//Extract number of servings from dictionary and place in model
self.searchedRecipeDetailsVariable.numberOfServings = [self.detailedSearchYummlyRecipeResults objectForKey: @"numberOfServings"];
//log number of servings to check that it works
NSLog(@"Number of Servings, %@",self.searchedRecipeDetailsVariable.numberOfServings);
self.numberOfServingsLabel.text = self.searchedRecipeDetailsVariable.numberOfServings;
値を印刷すると、数値が正しく表示されます。ただし、設定しようとするとnumberOfServingsLabel.text
、次のエラーが表示されます。
-[__NSCFNumber isEqualToString:]: 認識されないセレクターがインスタンス 0x9028390 に送信されました
ご想像のとおり、理由はよくわかりません。以下のように、テキストを文字列で直接設定しようとしましたが、これは機能します。
self.numberOfServingsLabel.text = @"500";
次に、テストするために、実際に以下を試した文字列がありました。これはうまくいきます。
NSString *test = self.searchedRecipeDetailsVariable.numberOfServings;
NSLog(@"test numberof servings string, %@", test);
にカーソルを合わせるとtest
、説明が印刷されました。参考になるかわかりませんが、以下のとおりでした。
テストの印刷記述: 2
カーソルを合わせると、それがNSString *
であり、最後に があると表示されます(int)2
。それが何を意味するかはわかりません。