Objective c 我如何用点表示法来表示

Objective c 我如何用点表示法来表示,objective-c,Objective C,我如何用点符号表示这行代码 [[segue destinationViewController] setDelegate:self]; 像这样: segue.destinationViewController.delegate = self; 像这样: segue.destinationViewController.delegate = self; 这里的问题是(1)-[UIStoryboardSegue destinationViewController]类型为id的指针,(2)点表示法

我如何用点符号表示这行代码

[[segue destinationViewController] setDelegate:self];
像这样:

segue.destinationViewController.delegate = self;
像这样:

segue.destinationViewController.delegate = self;
这里的问题是(1)
-[UIStoryboardSegue destinationViewController]
类型为
id
的指针,(2)点表示法需要静态类型。您需要通过显式强制转换或

((PFXSecondViewController *)segue.destinationViewController).delegate = self;
或者创建另一个变量

PFXSecondViewController *destinationViewController = segue.destinationViewController;
destinationViewController.delegate = self;
请参阅。

这里的问题是:(1)
-[UIStoryboardSegue destinationViewController]
类型为
id
的指针,(2)点表示法需要静态类型。您需要通过显式强制转换或

((PFXSecondViewController *)segue.destinationViewController).delegate = self;
或者创建另一个变量

PFXSecondViewController *destinationViewController = segue.destinationViewController;
destinationViewController.delegate = self;

看。

我试过了,但由于某种原因,它对我不起作用。这就是我问的原因。我可能做了一些不同的事情。什么版本的Xcode?编译器的哪个版本?等等,等等。这都取决于你的环境。这应该是可行的,但这取决于你的设置;这些工具不太可能成为问题,除非你在超过4年的时间里没有更新你的开发环境。我试过了,但出于某种原因,它对我不起作用。这就是我问的原因。我可能做了一些不同的事情。什么版本的Xcode?编译器的哪个版本?等等,等等。这都取决于你的环境。这应该是可行的,但这取决于你的设置;这些工具不太可能成为问题,除非您在超过4年的时间里没有更新您的开发环境。