我是Objective-C编程的新手,当我运行我的小程序时,我收到此错误(我只想生成一个随机字符).所以这就是我到目前为止所做的:
(IBAction)generate{
int a = arc4random() % 26;
NSString * chaine = @"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char lettre = [chaine characterAtIndex:a];
NSMutableString * mot = [[NSMutableString alloc] initWithCharacters:lettre length:1];
hasard.text = mot;
}
Run Code Online (Sandbox Code Playgroud)
我试图简单地将我的变量'lettre'放在hasard.text中,但它不能用于错误'不兼容的整数到指针转换分配到' NSString *'来自' char'.所以我创建了一个NSMutableString包含我的角色.
当我在第五行手动输入字符"e"而不是变量"letter"时,它运行良好.因为我可以在调试器中看到'lettre'包含一个随机字母,为什么我会在标题中得到错误?
(EXC_BAD_ACCESS (code=2, address=0x42)).
我想characterAtIndex在Objective-C中使用它来比较某个位置的字符和一个字符(例如'v').问题是characterAtIndex似乎发送了一个int而不是一个字符.我试着这样做:
if ([string characterAtIndex:i] = @"v")
Run Code Online (Sandbox Code Playgroud)
或者:
if (string[[string characterAtIndex:i]] .... )
Run Code Online (Sandbox Code Playgroud)
我知道在某种语言中你可以直接进入字符串中的某个位置(如数组)来查看字符,但在Objective-C中似乎没有这种方式.
谢谢你的帮助!