我创建了一个简单的字典:
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
?
答案 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]
}