【问题标题】:Which storage (weak or strong) for the elements underneath the "main" View in iOS7 [duplicate]iOS7中“主”视图下的元素的存储(弱或强)[重复]
【发布时间】:2014-01-08 05:12:49
【问题描述】:

在阅读了很多关于 iOS 编程的书籍和文档后,我仍然感到困惑 - 当从“主”视图下方的 UI 元素拖动控件时,选择哪种存储类型(弱或强)? (“主要”我认为是指分配给 ViewController 的 view 属性的 UIView):

例如,我正在尝试重新创建 Jeroen van Rijn 先生的示例 iOS SDK: Working with NSUserDefaults - 使用 Xcode 5.0.2 和 iOS7

他的代码缺少弱/强说明符,我想知道这里哪个是正确的?

#import <UIKit/UIKit.h>
@interface ContactViewController : UIViewController {
    IBOutlet UIImageView *contactImageView;
    IBOutlet UITextField *firstNameTextField;
    IBOutlet UITextField *lastNameTextField;
    IBOutlet UITextField *ageTextField;
}
- (IBAction)save:(id)sender;
- (IBAction)chooseImage:(id)sender;
@end

【问题讨论】:

  • IBOutlets 应该被定义为弱,因为它们将被创建它们的视图保留。您的 ViewController 只需要引用,不需要再次保留它们

标签: ios objective-c iphone weak-references strong-references


【解决方案1】:

在此示例中,您不需要为视图提供插座。您可以像这样访问它:

self.view

在您的 ContactViewController 或类似:

ContactViewController *contact = [[ContactViewController alloc] init];
contact.view

来自其他视图控制器。 但是,对于您的网点,您应该软弱。

【讨论】:

    【解决方案2】:

    因为该视图已被创建它们的视图(您在界面构建器中设置的视图)保留,您不需要再次保留它们,因此您必须选择 weak,而不是

    【讨论】:

    • 谢谢,当我在助手模式下控制拖动时,Xcode 5 建议“强”。
    猜你喜欢
    • 2013-05-10
    • 2012-06-25
    • 2012-03-04
    • 2012-05-16
    • 2014-12-07
    • 1970-01-01
    • 1970-01-01
    • 2019-09-14
    • 1970-01-01
    相关资源
    最近更新 更多