随机访问.plist文件中的字典字符串值

时间:2016-02-01 09:51:11

标签: ios swift dictionary random info.plist

我创建了一个简单的字典:

private int[][][] create3DArray(int[] lengths)
{
    int[][][] array = new int[lengths[0]][][];

    int[] newLengths = new int[lengths.Count - 1];

    for(int i = 0; i < lengths.Count - 1; i++)
    {
        newLengths[i] = lengths[i + 1];
    }

    for(int i = 0; i < lengths[0]; i++)
    {
        array[i] = create2DArray(newLengths);
    }

    return array;
}

private int[][] create2DArray(int[] lengths)
{
    int[][] array = new int[lengths[0]][];

    for(int i = 0; i < lengths.Count; i++)
    {
        array[i] = new int[lengths[1]];
    }

    return array;
}

然后我使用以下代码随机访问此字典中的字符串:

    let quotes: NSArray = ["hello", "ola", "hi"]

由于我最终会喜欢字典中的高级项目,所以我应该创建一个.plist文件并将其命名为“Quotes.plist” - 管理多个字符串的字典会更容易。

如何编写一个简单的代码,以便随机访问我的.plist中的字符串?

修订后的代码:

    let range: UInt32 = UInt32(quotes.count)
    let randomNumber = Int(arc4random_uniform(range))
    let QuoteString = quotes.objectAtIndex(randomNumber)
    self.resultLabel.text = QuoteString as? String

我的.plist文件是“Quotes.plist”。

一个简单的问题(我提前道歉),但如何修改func randomWord() -> String? { guard let path = NSBundle.mainBundle().pathForResource("Quotes", ofType: "plist"), words = NSDictionary(contentsOfFile: path) as? [String:String] else { return nil } let randomIndex = Int(arc4random_uniform(UInt32(words.values.count))) return Array(words.values)[randomIndex] 以便随机引用现在显示在我的self.resultLabel.text = QuoteString as? String

1 个答案:

答案 0 :(得分:2)

IF 您的PLIST被定义为字典,那么这应该可以胜任。否则,请提供有关PLIST结构的模式详细信息。

func randomWord() -> String? {
    guard let
        path = NSBundle.mainBundle().pathForResource("Words", ofType: "plist"),
        words = NSDictionary(contentsOfFile: path) as? [String:String] else { return nil }
    let randomIndex = Int(arc4random_uniform(UInt32(words.values.count)))
    return Array(words.values)[randomIndex]
}