什么@synthesize变量= _variable会做什么?

Sam*_*som 3 getter setter objective-c

我在iPhone项目的Application委托中看到了类似的代码.

带下划线的变量是什么?我可以将它用作变量的setter和getter吗?

我也应该在发布变量时使用:

  [variable release]; 
Run Code Online (Sandbox Code Playgroud)

要么

 [_variable release]; 
Run Code Online (Sandbox Code Playgroud)

谢谢.

Jus*_*ers 5

在一些编码约定中,实例变量之前的下划线用于能够快速地将它们与其他变量区分开来.它还有助于避免在方法和子类方法中使用局部变量进行命名冲突.

@synthesize variable = _variable 
Run Code Online (Sandbox Code Playgroud)

创建一个setter和getter,在这种情况下设置/获取你设置的变量_variable.所以外部访问使用像object.variable这样的代码,它实际上只是返回_variable.但是这个类通常在内部使用_variable.