【发布时间】:2011-11-20 14:59:25
【问题描述】:
我在 Mac OS X 上遇到了一个简单的 NSString 问题:
NSString *letters = @"abcdefghijklmnopqrstuvwxyz0123456789";
myString = [myString stringByAppendingFormat:@"%c", [letters characterAtIndex:3]];
当我再次尝试访问该字符串时,Xcode 返回EXC_BAD_ACCESS
当我使用 @"%c" 格式时,就会出现这个错误
当我使用@"%@" 时,有时会出现同样的错误,有时会出现这个字符串:control 0x10040a480,有时会出现这样的错误:
{(
<CFRunLoopObserver 0x10015ac60 [0x7fff70731ee0]>{locked = No, valid = Yes, activities = 0x21, repeats = Yes, order = 0, callout = _ZL15FlushAllBuffersP19__CFRunLoopObservermPv (0x7fff88a147d4), context = <CFRunLoopObserver context 0x0>}
)}
即使我不更改代码中的任何内容并重新运行它,错误也会随机发生。
我尝试通过以下方式获取随机字符串:
randomString = @"";
NSString *letters = @"abcdefghijklmnopqrstuvwxyz0123456789";
srand(time(NULL));
for (int i=0; i<5; i++)
{
randomString = [randomString stringByAppendingFormat:@"%c", [letters characterAtIndex:(rand()%[letters length])]];
}
随机字符串在 header.h 中声明
我也尝试使用 NSMutableString 但这也不起作用。
每次我尝试通过@"%@" 访问字符串(或可变字符串)时,我都会收到EXC_BAD_ACCESS
有什么想法吗? 希望有人可以帮助我!
您好, 朱利安
【问题讨论】:
标签: string random nsmutablestring