2011-07-25 5 views
0

이유는 없지만 간단하게 작동하지 않습니다. 그것은 plist 파일에서 일부 값을로드하고 일부 UITextFields로 그들을로드해야합니다. NSLogs에서 기대했던 모든 것을 출력하지만 UITextFields의 텍스트는 동일하지 않습니다. 그것은 무작위로 무엇을 넣을 지 선택하는 것처럼 거의 보인다.UITextField에 데이터를로드하는 것이 작동하지 않습니다.

  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 =("); 
    } 

답변

1

동일한 텍스트 상자의 텍스트를 반복해서 설정하는 것처럼 보입니다. 따라서 numSidesBox은 항상 [loadDict valueForKey:@"numRolls"]이라는 텍스트를 포함해야합니다. 두 개 이상의 텍스트 필드가있는 것으로 가정하므로 numSidesBoxnumDiceBox 또는 다른 변수로 변경하십시오.

P. valueForKey: 대신 objectForKey:을 사용하는 것이 좋습니다.

+0

죄송합니다. 내 메모리 부분에 복사/붙여 넣기 오류가 발생했으며 objectForKey 팁을 보내 주셔서 감사합니다. 내가 그걸 염두에두고 있겠지 . – user663425

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 만? 맞습니까?

+0

이런, 얼마나 대단히 당황스럽지. 복사/붙여 넣기에 약간의 기억 의무가 따르는 것 같습니다.) 시간을 낭비해서 죄송합니다. 고맙습니다! – user663425

+0

문제가없는 친구입니다. 대답을 받아 들일 수 없습니다. (Alex에게 동의하고 나를 투표하십시오) 그는 먼저 대답했습니다. – Peres

관련 문제