나는 목록에서 배를 선택할 수있는 tableView를 가지고 있으며 탭하면 정보가 다른 화면에 나타나기를 원합니다. 나는 현재이 일을하고 방법은 다음과 같습니다NSUserDefaults가 이전 결과를 반환합니다.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
{
cargoShips* ship=[boatsForOwner objectAtIndex:indexPath.row];
UITableViewCell *cell = [self.boatsTableView cellForRowAtIndexPath:indexPath];
[self performSegueWithIdentifier:@"boatInfoSegue" sender:cell];
NSString *nameString = ship.name;
NSString *sizeString = ship.size;
NSUserDefaults *shipName = [NSUserDefaults standardUserDefaults];
[shipName setObject:nameString forKey:@"globalName"];
[shipName synchronize];
NSUserDefaults *shipSize = [NSUserDefaults standardUserDefaults];
[shipSize setObject:sizeString forKey:@"globalSize"];
[shipSize synchronize];
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
그리고는
NSString *getName = [[NSUserDefaults standardUserDefaults]
objectForKey:@"globalName"];
NSString *getSize = [[NSUserDefaults standardUserDefaults]
objectForKey:@"globalSize"];
shipNameText.text = getName;
shipSizeText.text = getSize;
지금이 그것을 반환하지 않는다는 사실을 제외하고, 좋은 작품을 (다른 파일)에 텍스트로 다시로드 infoView로 이동하기 위해 선택한 셀이지만 이전에 선택한 객체. 그래서 목록에서 첫 번째 객체를 선택하면 null을 반환하고, 다음 객체는 첫 번째 객체에 대해 가져야하는 결과를 얻습니다.
내가 뭘 잘못했는데 어떻게 해결할 수 있습니까?
을 쓴 그 이유는,
클래스 이름은 대문자로한다 : 내가 당신이라면 나는 이런 식으로했다. –
@NikolaKirev 죄송합니다, 무슨 말씀입니까? 그들은 다른 값을 반환합니다 –
값이 쓰여진 후 * 읽혀지고 있습니까? 몇 가지 중단 점을 설정하십시오. –