在Objective-C中交换指针的函数

Pab*_*blo 0 objective-c

- (void) swapController:(MyViewController*)controller1 
                         with:(MyViewController*)controller2
{
    MyViewController *swap = controller2;
    controller2 = controller1;
    controller1 = swap;
}
Run Code Online (Sandbox Code Playgroud)

看起来这不起作用,因为我没有传递引用.怎么办呢?

Hug*_*ugh 7

您可以通过将指针传递给要更改的指针来执行此操作:

- (void)swapController:(MyViewController**)controller1 with:(MyViewController**)controller2
{
    MyViewController* swap = *controller2;
    *controller2 = *controller1;
    *controller1 = swap;
}
Run Code Online (Sandbox Code Playgroud)