小编Gab*_*Gab的帖子

Objective-c EXC_BAD_ACCESS(代码= 2,地址= 0x42)

我是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)).

random exc-bad-access objective-c char

4
推荐指数
1
解决办法
2万
查看次数

Objective-c使用CharacterAtIndex

我想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中似乎没有这种方式.

谢谢你的帮助!

indexing character objective-c nsstring

2
推荐指数
1
解决办法
5250
查看次数