첫 번째 파일에서 두 번째 파일에 대한 참조를 가져 와서 속성을 변경하고 싶습니다. 이것은 내가 가진 것입니다. 참조를 반환하는 클래스 메서드를 만들었지 만 문제는 if 메서드를 수행 할 때 맨 위에는 메서드가 실행될 것 같은 경고가 표시됩니다. , 참조를 필요로다른 클래스에 대한 참조 만들기 Objective C
첫 번째 파일은 내가 반환 자체를 사용하여 참조 할 참조를 원하는
-(void) updateSplitViewDetail{
id detail = (MapViewController*) [MapViewController returnReference];
NSLog(@"%@", [detail class]); //This post MAPVIEWCONTROLLER
//This fails so I cant access the methods inside.
if ([detail isKindOfClass:[MapViewController class]]) {
MapViewController *mapVC = (MapViewController*) detail;
mapVC.delegate = self;
mapVC.annotations = [self mapAnnotations];
}
}
(void)viewDidLoad
{
[super viewDidLoad];
[self updateSplitViewDetail]; //Error may be here?
}
두 번째 파일을 참조 얻기 위해 클래스 메소드를 호출합니다. 이 클래스 메소드합니다 (+ 참조) 그러므로 this
형태가 아닌 (MapViewController*)
의 유형 Class
입니다 때문에
- (void)viewDidLoad
{
NSLog(@"%@", [self class]);
[super viewDidLoad];
self.mapView.delegate = self;
// Do any additional setup after loading the view.
}
+(MapViewController*) returnReference{
//I also get an incompatible pointer return warning here?
return self;
}
그래서 두 번째 파일에 mapviewcontroller 속성을 만들고 반환 참조 및 인스턴스 변수를 만들어 반환하고 첫 번째 파일에서 mapviewcontroller 인스턴스를 사용하여 호출하면 작동합니다.> –
@TerrelGibson : 나는 그렇지 않습니다. 네가하는 말을 정말로 이해한다. 그러나'+ returnReference'는 클래스 메소드이기 때문에 클래스의 메소드 일뿐입니다. 그것은 인스턴스의 방법이 아닙니다. 인스턴스에서'returnReference'를 호출하려고하면'-returnReference'가 없으므로 작동하지 않습니다. – newacct
+ returnReference를 -ReturnReference로 변경하면 어떻게됩니까? –