不知道为什么,但这根本不起作用。它应该从plist文件加载一些值,并将它们加载到一些UITextFields中。它确实输出了NSLogs你想要的一切,但是UITextFields上的文字并不相同。它似乎随机选择放在哪里。
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:[NSMutableString stringWithFormat:@"%@.plist",file]];
NSDictionary *loadDict;
if([[NSFileManager defaultManager] fileExistsAtPath:filePath]){
NSLog(@"hey its there!");
loadDict = [[NSDictionary alloc] initWithContentsOfFile:filePath];
[numSidesBox setText:[loadDict valueForKey:@"numSides"]];
NSLog([loadDict valueForKey:@"numSides"]);
[numSidesBox setText:[loadDict valueForKey:@"numDice"]];
NSLog([loadDict valueForKey:@"numDice"]);
[numSidesBox setText:[loadDict valueForKey:@"modifier"]];
NSLog([loadDict valueForKey:@"modifier"]);
[numSidesBox setText:[loadDict valueForKey:@"numRolls"]];
NSLog([loadDict valueForKey:@"numRolls"]);
}
else{
NSLog(@"hey its not =(");
}
答案 0 :(得分:1)
您似乎一次又一次地设置同一文本框的文本。因此,numSidesBox
应始终包含[loadDict valueForKey:@"numRolls"]
的文字。我假设您有多个文本字段,因此只需将numSidesBox
更改为其他变量,例如numDiceBox
或您称之为的任何变量。
P.S。我还建议您使用objectForKey:
而不是valueForKey:
。
答案 1 :(得分:1)
你说“TextFields”复数,但你只使用一个UITextField(?)。
[numSidesBox setText:[loadDict valueForKey:@"numSides"]];
NSLog([loadDict valueForKey:@"numSides"]);
[numSidesBox setText:[loadDict valueForKey:@"numDice"]];
NSLog([loadDict valueForKey:@"numDice"]);
[numSidesBox setText:[loadDict valueForKey:@"modifier"]];
NSLog([loadDict valueForKey:@"modifier"]);
[numSidesBox setText:[loadDict valueForKey:@"numRolls"]];
NSLog([loadDict valueForKey:@"numRolls"]);
只有numSidesBox?这是对的吗?