在目标C中使用self-keyin 我在iOS编程中学习了。我在C++中学习过,这个指针是使用的,只能在内部访问,只有在函数(对象方法如iOS)中才能访问。我们不能在类函数(iOS中的class方法)中访问“this指针”。但是我已经检查过,我也可以在iOS中的类方法中使用它们(作为一个自我)。但我不知道,可能是我的观念错了还是错了。我搜索了很多网站。我已经检查过,很多地方都使用了它。如果“self”可以在类方法中使用,那么任何人都可以告诉我,怎么可能?。“自我”的概念与C++中的“这个指针”不同,请逐个解释,谢谢。 #import" ViewController.h" @implementation ViewController +(void)fun { [self action]; //here you can see ,Iam using 'self' for access method action. }// but according to C++ this pointer (self)can't be used in class method. // not giving any error...please check. +(void)action { NSLog(@" Welcome in IOs world"); } -(void)viewDidLoad{ [superviewDidLoad]; ViewController*obj=[[ViewController alloc]init]; [ViewController fun]; } @end

在目标C中使用self-keyin 我在iOS编程中学习了。我在C++中学习过,这个指针是使用的,只能在内部访问,只有在函数(对象方法如iOS)中才能访问。我们不能在类函数(iOS中的class方法)中访问“this指针”。但是我已经检查过,我也可以在iOS中的类方法中使用它们(作为一个自我)。但我不知道,可能是我的观念错了还是错了。我搜索了很多网站。我已经检查过,很多地方都使用了它。如果“self”可以在类方法中使用,那么任何人都可以告诉我,怎么可能?。“自我”的概念与C++中的“这个指针”不同,请逐个解释,谢谢。 #import" ViewController.h" @implementation ViewController +(void)fun { [self action]; //here you can see ,Iam using 'self' for access method action. }// but according to C++ this pointer (self)can't be used in class method. // not giving any error...please check. +(void)action { NSLog(@" Welcome in IOs world"); } -(void)viewDidLoad{ [superviewDidLoad]; ViewController*obj=[[ViewController alloc]init]; [ViewController fun]; } @end,ios,Ios,在类中,方法self指类,在实例中,方法self指类的实例。因此,可以使用相同的术语,但在不同的范围内表示不同的事物。在类中,方法self指类,而在实例中,方法self指类的实例。因此,可以使用相同的术语,但在不同的范围内表示不同的内容。您应该调用[obj-fun]而不是[viewcontroller-fun]您应该调用[obj-fun]而不是[viewcontroller-fun]

在类中,方法
self
指类,在实例中,方法
self
指类的实例。因此,可以使用相同的术语,但在不同的范围内表示不同的事物。

在类中,方法
self
指类,而在实例中,方法
self
指类的实例。因此,可以使用相同的术语,但在不同的范围内表示不同的内容。

您应该调用[obj-fun]而不是[viewcontroller-fun]您应该调用[obj-fun]而不是[viewcontroller-fun]