Objective c 转换NSDictionary';s键输入一个NSN号码
如何将密钥转换为NSN号码?此代码给出了错误信息: 无论我如何尝试,最终总会出现错误:不兼容的整数到指针转换从'NSIntegar'(也称为'int')分配给'NSNumber' 这是我的咨询对象数据:Objective c 转换NSDictionary';s键输入一个NSN号码,objective-c,nsdictionary,Objective C,Nsdictionary,如何将密钥转换为NSN号码?此代码给出了错误信息: 无论我如何尝试,最终总会出现错误:不兼容的整数到指针转换从'NSIntegar'(也称为'int')分配给'NSNumber' 这是我的咨询对象数据: #import <Foundation/Foundation.h> @interface ConsultantData : NSObject { NSString *name; NSNumber *conID; } @property (nonatomic, r
#import <Foundation/Foundation.h>
@interface ConsultantData : NSObject
{
NSString *name;
NSNumber *conID;
}
@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSNumber *conID;
@end
#import "ConsultantData.h"
@implementation ConsultantData
@synthesize name;
@synthesize conID;
-(void) dealloc
{
[name release];
[conID release];
[super dealloc];
}
@end
#导入
@接口顾问数据:NSObject
{
NSString*名称;
NSNumber*conID;
}
@属性(非原子,保留)NSString*名称;
@属性(非原子,保留)NSNumber*conID;
@结束
#导入“ConsultantData.h”
@实施咨询数据
@综合名称;
@合成锥虫;
-(无效)解除锁定
{
[姓名发布];
[锥虫释放];
[super dealoc];
}
@结束
如果我尝试成为班上的一员,它永远不会变成真的。若我尝试IsKind of Class,它会告诉我它是一个NSString
consultants是我从服务器收到的一个字典,它通过一个XMLRPC函数传递(服务器是PHP)。据我所见,服务器字典中的所有内容都是字符串
consultantData.conID=[[NSNumber numberWithInteger:key]integerValue]
上述行应为:
consultantData.conID = [NSNumber numberWithInteger:[key integerValue]];
consultantData.conID=[[NSNumber numberWithInteger:key]integerValue]
上述行应为:
consultantData.conID = [NSNumber numberWithInteger:[key integerValue]];
可能是你点错了
consultantData.conID = [[NSNumber numberWithInteger:key] integerValue];
意味着
NSNumber *foo = [NSNumber numberWithInteger:key];
NSInteger bar = [foo integerValue];
consultantData.conID = bar;
你可能想要
consultantData.conID = [NSNumber numberWithInteger:[key integerValue]];
以详细的形式:
NSInteger foo = [key integerValue];
NSNumber *bar = [NSNumber numberWithInteger:foo];
consultantData.conID = bar;
可能是你点错了
consultantData.conID = [[NSNumber numberWithInteger:key] integerValue];
意味着
NSNumber *foo = [NSNumber numberWithInteger:key];
NSInteger bar = [foo integerValue];
consultantData.conID = bar;
你可能想要
consultantData.conID = [NSNumber numberWithInteger:[key integerValue]];
以详细的形式:
NSInteger foo = [key integerValue];
NSNumber *bar = [NSNumber numberWithInteger:foo];
consultantData.conID = bar;
integerValue返回一个NSInteger,它不是NSNumber。您应该直接传递NSN号码:
consultantData.conID = [NSNumber numberWithInteger:[key integerValue]];
integerValue返回一个NSInteger,它不是NSNumber。您应该直接传递NSN号码:
consultantData.conID = [NSNumber numberWithInteger:[key integerValue]];
假设密钥是NSString,则无法将密钥传递给[NSNumber numberWithInteger:key],因为它不是整数!使用键上的intValue方法获取整数,然后将整数转换为NSNumber,如下所示:
consultantData.conID = [NSNumber numberWithInteger:[key intValue]];
假设密钥是NSString,则无法将密钥传递给[NSNumber numberWithInteger:key],因为它不是整数!使用键上的intValue方法获取整数,然后将整数转换为NSNumber,如下所示:
consultantData.conID = [NSNumber numberWithInteger:[key intValue]];
你的第一点不正确。与快速枚举一起使用时。
.allKeys
不是必需的。您的密码是正确的。显然,我忽略它的时候是我想要迭代这些值的时候。谢谢你的更正!你的第一点不正确。与快速枚举一起使用时。.allKeys
不是必需的。您的密码是正确的。显然,我忽略它的时候是我想要迭代这些值的时候。谢谢你的更正!哈这非常有效,谢谢你,也感谢其他人,他们也提供了正确的答案。我的头撞在墙上的时间要长得多,我本应该翻过这个的。哈!这非常有效,谢谢你,也感谢其他人,他们也提供了正确的答案。我的头撞在墙上的时间要长得多。