iphone - @synthesize window=_window 有什么作用?

标签 iphone objective-c

我了解 @synthesize window;@property 结合“自动创建”您的 setter 和 getter,但我不确定您分配时会发生什么像

这样的值
 @synthesize searchBar = _searchBar;

这是否意味着我可以在我的方法中简单地使用 _searchBar 而不是 self.searchBar ?

是否可以防止 ivar 名称与此委托(delegate)方法发生冲突:

- (void) searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText

它是否等同于 self.searchBar 而不是 searchBar 或者这两者是否相同?

最佳答案

您的属性几乎总是有一个支持变量。什么

@synthesize searchBar = _searchBar;

does 声明搜索栏的支持变量将被称为 _searchBar。这允许您将属性名称与变量名称分离。事实上,如果你不使用 @synthesize,你根本不需要支持变量。

至于为什么人们这样做,每个人都有不同的理由。就个人而言,我这样做是为了

  1. 避免与变量名冲突
  2. 明确说明何时使用局部变量和何时使用实例变量。

关于iphone - @synthesize window=_window 有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5170631/

相关文章:

iOS 应用程序文本看起来更大已通过使用启动屏幕修复

iphone - ipad相机和webview youtube视频播放问题

iphone - 嵌入式视频播放多个方向?

ios - 更改 UICollectionView 中特定单元格的图像

ios - 在 cellForRowAtIndexPath : 处增长的事件字节数

objective-c - 如何在 MFMailComposeViewController 中取消?

iphone - iOS 核心数据 - 插入前如何检查

iphone - 为什么在 iPhone 或 iPad 设备上时 png 格式会发生变化

ios - CollectionView 不包含 CollectionViewCell

objective-c - 如何调用 NSDictionary 中的 block ?