为什么我在 Objective C 中获取 NSString 的值,例如 0xb000000000000033
Why I am Getting value of NSString like 0xb000000000000033 in Objective C
我是iOS
的新手,我写过这样的代码
NSString *Mobilenumber =[firstObj valueForKey:@"MobilNo"];
NSLog(@"Mobile Number is =%@",Mobilenumber);
NSString *Employeeid=[firstObj valueForKey:@"EmpId"];
NSLog(@"Employee ID is =%@",Employeeid);
手机号码给我正确的值,而 Employeeid
给我这样的值 0xb000000000000033。但是当我 NSLog
Employeeid 时,它显示的值为 3.
但是当我将它与另一个文本的值进行比较时
if ([EmployeeStr isEqual:techString])
它不会进入 if
条件,但两个字符串包含相同的值。 0xb000000000000033.
这种类型的值怎么解
尝试 %p
应该适用于任何指针 -
NSString *Mobilenumber =[firstObj valueForKey:@"MobilNo"];
NSLog(@"Mobile Number is =%@",Mobilenumber);
NSString *Employeeid=[firstObj valueForKey:@"EmpId"];
NSLog(@"Employee ID is =%@",Employeeid);
NSString *address = [NSString stringWithFormat:@"%p", Employeeid];
NSLog(@"Employee ID is =%@",address);
或
将其转换为整数并执行剩下的操作 -
NSUInteger myInt = [ Employeeid integerValue ];
char * ptr = ( char * )myInt;
NSString *Mobilenumber = [NSString stringWithFormat:@"%@",[firstObj valueForKey:@"MobilNo"]];
NSLog(@"Mobile Number is =%@",Mobilenumber);
NSString *Employeeid=[NSString stringWithFormat:@"%@",[firstObj valueForKey:@"EmpId"]];
NSLog(@"Employee ID is =%@",Employeeid);
&然后比较它的工作...
if ([Employeeid isEqualToString:techString])
// 我想你得到了那个键的 NSNumber 对象 "EmpId"
就这样试试吧,希望对你有用。
NSString *Employeeid = [NSString stringWithFormat:@"%@", [firstObj valueForKey:@"EmpId"]]
可能对你有帮助
NSString *EmployeeId = [firstObj valueForKey:@"EmpId"];
NSLog(@"Employee ID is =%@",EmployeeId);
NSString *strEmployeeId = [NSString stringWithFormat:@"%@", [firstObj valueForKey:@"EmpId"]];
NSLog(@"Str Employee ID is =%@",strEmployeeId);
NSString *castEmployeeId = (NSString *)[firstObj valueForKey:@"EmpId"];
NSLog(@"Cast Employee ID is =%@",castEmployeeId);
编码愉快...
我是iOS
的新手,我写过这样的代码
NSString *Mobilenumber =[firstObj valueForKey:@"MobilNo"];
NSLog(@"Mobile Number is =%@",Mobilenumber);
NSString *Employeeid=[firstObj valueForKey:@"EmpId"];
NSLog(@"Employee ID is =%@",Employeeid);
手机号码给我正确的值,而 Employeeid
给我这样的值 0xb000000000000033。但是当我 NSLog
Employeeid 时,它显示的值为 3.
但是当我将它与另一个文本的值进行比较时
if ([EmployeeStr isEqual:techString])
它不会进入 if
条件,但两个字符串包含相同的值。 0xb000000000000033.
尝试 %p
应该适用于任何指针 -
NSString *Mobilenumber =[firstObj valueForKey:@"MobilNo"];
NSLog(@"Mobile Number is =%@",Mobilenumber);
NSString *Employeeid=[firstObj valueForKey:@"EmpId"];
NSLog(@"Employee ID is =%@",Employeeid);
NSString *address = [NSString stringWithFormat:@"%p", Employeeid];
NSLog(@"Employee ID is =%@",address);
或
将其转换为整数并执行剩下的操作 -
NSUInteger myInt = [ Employeeid integerValue ];
char * ptr = ( char * )myInt;
NSString *Mobilenumber = [NSString stringWithFormat:@"%@",[firstObj valueForKey:@"MobilNo"]];
NSLog(@"Mobile Number is =%@",Mobilenumber);
NSString *Employeeid=[NSString stringWithFormat:@"%@",[firstObj valueForKey:@"EmpId"]];
NSLog(@"Employee ID is =%@",Employeeid);
&然后比较它的工作...
if ([Employeeid isEqualToString:techString])
// 我想你得到了那个键的 NSNumber 对象 "EmpId" 就这样试试吧,希望对你有用。
NSString *Employeeid = [NSString stringWithFormat:@"%@", [firstObj valueForKey:@"EmpId"]]
可能对你有帮助
NSString *EmployeeId = [firstObj valueForKey:@"EmpId"];
NSLog(@"Employee ID is =%@",EmployeeId);
NSString *strEmployeeId = [NSString stringWithFormat:@"%@", [firstObj valueForKey:@"EmpId"]];
NSLog(@"Str Employee ID is =%@",strEmployeeId);
NSString *castEmployeeId = (NSString *)[firstObj valueForKey:@"EmpId"];
NSLog(@"Cast Employee ID is =%@",castEmployeeId);
编码愉快...