由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:' - [NSDecimalNumber objectAtIndex:]

问题描述:

嗨我在执行应用程序期间收到此异常。由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:' - [NSDecimalNumber objectAtIndex:]

我有一个服务,通过我想插入设备信息的服务器。为此,我使用了NSDictionary,并且使用以下数据类型(如NSString)和一个Long值来保存值。 一旦我尝试插入数据,它会给出以下错误消息。

终止应用程序由于未捕获的异常 'NSInvalidArgumentException',原因是:“ - [NSDecimalNumber objectAtIndex:]

请帮我事先说谢谢的。

+0

请在这里分享一些代码。 – iDeveloper 2014-09-22 08:03:48

我想你正试图在字典中插入C类型。 NSDictionaries只能包含对象(https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSDictionary_Class/Reference/Reference.html):

  • (无效)的setValue:(id)的值forKey:(的NSString *)键< - 值必须是一个对象

要插入长值作为对象,你可以创建一个NSNumber * n = [NSNumber numberWithLong:longValue]; 当你需要读回时,你可以有[n longValue]。

+0

请详细解释.. – 2014-09-22 09:08:21

+0

我这样插入。 U_ID = 1234; UILabel * UID; UID.Text = [NSNumber numberwithLong U_ID];之后,我正在传递那样的字典= [NSDictionary dictionaryWithObjects:@ [U_ID.text] forKeys:@ [@“DeviceName”]; – 2014-09-22 09:09:23

+0

@ [U_ID.text]是一个包含一个字符串元素的数组。尝试使用dict = [NSDictionary dictionaryWithObject:U_ID.text forKey:@“DeviceName”]; – 2014-09-22 12:08:38