누군가 나를 위해이를 분명히 할 수 있습니다. I 3 4 2에보기 컨트롤러 (1)로부터 탐색 할 때 지금정수 값은 방법에 따라 변경되지 않습니다.
-(id)init
{
// Call the superclass's designated initializer
self = [super initWithStyle:UITableViewStyleGrouped];
if (self) {
editStarted = 0; // NO
}
return self;
}
: I 4 UITableViewControllers이
, 첫 번째 난 FirstViewController이 속성을 설정
@property (nonatomic, assign) int editStarted;
특성을 갖는다 , 그리고 FourthViewController에서 다음과 같이하십시오 :
FirstViewController *firstView = [[FirstViewController alloc] init];
NSLog(@"editStarted: %d,",firstView.editStarted);
NSLOG는 0을 인쇄합니다. 나는 다음이 값 것을 인쇄됩니다 그것을 초기화의 또 다른 가치를 부여) 그래서 다시 FirstViewController에서
난이 값을 1로 변경 않습니다.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
editStarted = 1;
}
을 지금은에 뷰 컨트롤러 1에서 탐색 할 때 2 - 3 - 4 값은 1로 변경되지 않았지만 여전히 0입니다.
이 표준적인 동작입니까? 아니면 잘못된 것입니까? editStarted
을 뷰 컨트롤러 1에서 2에서 3에서 4로 전달할 수있는 가능성이 있다고 생각했지만 올바른 방법인지는 확실하지 않습니다. 나에게 약간 과장된 것처럼 들린다.
...
달리 한 번만 클래스의 객체를 만들/하위 클래스에 상위 클래스의 객체를 할당하는 더 나은 옵션이 있습니다! 고맙습니다. 그리고 네비게이션 컨트롤러를 사용하면 "- (BOOL) application : (UIApplication *) application didFinishLaunchingWithOptions : (NSDictionary *) launchOptions "등을 정의하는 appDelegate.m을 의미합니다. – Eloy그리고 정보를 얻으려면보기 컨트롤러 1에서 4로 이동하고 4시에 VC1에서 2에서 4까지의 데이터를 표시하려고합니다. 저는 2 대 4를 사용하여 특정한 선택을합니다. – Eloy
VC에서 'self.navigationController'는 nav 컨트롤러로 연결됩니다. 위임 관계는 선택 데이터를 2, 3 및 4에서 1로 다시 전달하는 데 적합합니다. – Wain