将NSInteger转化为NSString

我试图从几个不同的部分制作一个字符串.以下是我现在所拥有的我的代码中没有任何错误,但是一旦我运行它,并做触发它的事件,我得到EXC_BAD_ACCESS.有没有另外一种方式将这个NSInteger转化为NSString?
NSString *part1,*part2,*tempString;

NSInteger num1;
NSInteger num2;

part1=@"some";
part2=@"text";    

tempString = [NSString stringWithFormat:@"%@%@%@%@",part1,(NSString *)num1,part2,(NSString *)num2];

解决方法

一个字符串和一个整数是基本不同的数据类型,在这种情况下,在Objective-C中的转换将不会为你做一个转换,而是在编译器中介绍发生了什么的事情(所以编译),但是在运行时它会吹动向上.

您可以使用%d而不是%@将一个整数直接嵌入到格式字符串中:

tempString = [NSString stringWithFormat:@"%@%d%@%d",num1,num2];

NSInteger只是一个常见的“int”(数字)的花哨名字. NSString是字符串对象的对象引用.一些数字类型(int和浮点)可以像C这样直接在C之间进行转换,但是这两个数据类型根本不可互操作.听起来你可能来自一个更宽容的语言?

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...