iphone - 随机化从 plist 文件中提取的字符串

标签 iphone xcode plist random

我正在寻找随机化 plist 文件的输出。我读过有关 arc4random() 的内容,但我不确定如何将其合并到代码中。

感谢您的帮助。

这是当前拉取“objectAtIndex:0”的代码

 -(IBAction) buttonPress {

    NSString *path = [[NSBundle mainBundle] pathForResource:@"messages" ofType:@"plist"];
    NSMutableArray *array = [[NSMutableArray alloc] initWithContentsOfFile:path];

    [myMessage setText:[array objectAtIndex:0]];
    NSLog(@"%@",array);
 }

最佳答案

显而易见的事情就是使用 random():

[array objectAtIndex:random()%array.count]

arc4random() 增加了不必要的复杂性,但几乎没有什么明显的好处。

如果您希望值更加随机,您可以在调用 random() 之前调用 srandomdev() 一次(例如在 main() 或 application:didFinishLaunchingWithOptions: 或其他中)。

如果您想要“安全”随机数,请使用 SecRandomCopyBytes()。

关于iphone - 随机化从 plist 文件中提取的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3302873/

相关文章:

ios - 当 NSAllowsArbitraryLoadsInWebContent 为真时无法使用 AVPlayer 播放视频

iphone - 如何获得 iPhone OS 3.1 低沉的键盘声音?

iphone - 出列的 UITableViewCell 在滚动之前布局不正确(使用自动布局)

ios - iOS9联系人框架缺少电话号码标签?

ios - 制作像 iTunes 专辑页面这样的页面的最佳方法是什么?

ios - 未调用 GCDAsyncSocket readData

ios - Swift:阅读 plist - 如何按键过滤并仅读取和附加值

ios - Swift4 tableview 单元格高度不是动态的并且始终是静态的

iphone - 在 Objective-C 中对多维数组进行排序

ios - 从现有的 plist 创建一个新的 plist?