我试图从几个不同的部分制作一个字符串.以下是我现在所拥有的我的代码中没有任何错误,但是一旦我运行它,并做触发它的事件,我得到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之间进行转换,但是这两个数据类型根本不可互操作.听起来你可能来自一个更宽容的语言?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。