草庐IT

IBOutlets

全部标签

iphone - iOs:为什么 IBOutlets 在 [[alloc] init] 之后没有连接,而是在 viewDidUnload 之后连接:已被调用

我有一个简单的UINavigationViewController,当某个项目被选中时,它会创建一个模态视图,其中有一个UIImageView(下面的PostcardViewController)。但是,如果我调用PostcardViewController*postcardViewController=[[PostcardViewControlleralloc]init];postcardViewController.imageView.image=image;[self.navigationControllerpresentModalViewController:postcardV

ios - 公共(public) vs 私有(private) IBOutlets

我想知道当我需要从另一个读取UILabel/UITextField的内容时,什么被认为是更好的做法>在以下两种可能性之间查看Controller:1)只需在.h文件中为UITextField创建一个IBOutlet并将其公开给所有人2)在.h文件中创建一个NSStringreadonly属性,在实现文件中设置为readwrite,每次privateUITextField更改。在我看来,第二个选项看起来是一个更好的方法,因为它保持了OOP封装,但是对于每个ViewController中的每个UITextField/UILabel似乎有很多工作要做。想法?谢谢!编辑:此外,如果我需要能够从

objective-c - 无法将 IBOutlets 连接到 Storyboard

我最近开始使用Storyboard为我的iPad应用程序创建一个iPhone界面,我已经将项目更改为Universal而不是iPad,并在项目摘要屏幕中将所需的Storyboard分配给它的设备。但是当我尝试使用control+drag将任何元素连接到一段代码时,例如:@property(strong,nonatomic)IBOutletUIImageView*logo;它只是不能链接它。该对象与代码所说的类型相同,与View相同是同一类继承。iPadStoryboard仍然运行良好并且可以增强,它仍然与项目相关联。新的iPhoneStoryboard完全没用,这是为什么?

ios - 将 IBOutlets 连接到 UITableViewCell 原型(prototype)

我正在创建一个带有自定义UITableViewCell原型(prototype)的UITable。我的单元格包含UIImageViews、UILabels和UIButtons。当我控制并从我的按钮拖动到我的类(class)界面时,它工作得很好。但是,它不适用于网点。当我在.h文件中创建IBOutlet时,如果我选择UITable而不是单元格,我只能连接,当然结果是一个损坏的应用程序。你们知道如何解决这个问题吗?我不想只为单元格使用自定义类。我真的很想坚持使用Storyboard和原型(prototype)。提前致谢 最佳答案 将标签

objective-c - 我什么时候应该对 IBOutlets 使用 weak 或 strong 限定符?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:ShouldIBOutletsbestrongorweakunderARC?在文档中,我读到“socket通常应该很弱,除了从文件所有者到nib文件(或在iOS中,Storyboard场景)中的顶级对象的socket应该很强。”例子?我不明白什么时候最好为IBOutlet使用“弱”而不是“强”属性。

ios - IBOutlets Strong or Weak - 它真的对内存管理有影响吗? (弧)

我最近在这里和其他网站上阅读了很多关于IBOutlets应该强还是弱的文章。官方判定它们应该是弱的,除非它们引用顶级xib对象。这很好。然而,我还不清楚为什么将它们设置为强或弱实际上会对应用程序的内存管理产生影响。特别是从iOS6开始,viewDidUnload不再在收到内存警告时调用,因此从这个意义上说,为IBOutlets选择弱或强不会有任何区别。虽然对于不再位于导航堆栈中的ViewController(即在它们被加载然后弹出之后),我认为任何声明为弱的IBOutlets都将被释放,但我的想法是否正确?感谢您的任何见解! 最佳答案

objective-c - IBOutlets 应该是 ivar 还是属性?

虽然我确信它们存在,但我很难找到或确定在ViewController中声明socket的官方最佳实践。据我所知,有3个选项:仅ivar仅限属性(property)由ivar支持的属性当我尝试通过从IB拖入我的ViewController来自动生成一个属性时,Xcode目前崩溃了,但据我所知,这样做会创建一个没有ivar的属性。也可以拖入ivar部分,这将创建一个没有属性的ivar。这表明property-only和ivaronlyoutlets都适合apple。所以在viewDidUnload中我们需要将nil分配给我们的任何导出,但是dealloc呢?如果我们使用了一个没有ivar的

objective-c - 在 UIViewController 的 viewDidUnload 中释放 IBOutlets?

我对基于Nib的UIViewController到底发生了什么感到有点困惑秒。生成UIViewController时子类,该模板在viewDidUnload中包含非常具体的注释方法://Releaseanyretainedsubviewsofthemainview.//e.g.self.myOutlet=nil;这适用于哪些subview?我在viewDidLoad中初始化的那些?(我会说是的)我在initWithNibName中初始化的那些?(我会说不)在Nib中引用对象的IBOutlets?如果我这样使用ViewController:MyViewController*control

iphone - 强IBOutlets和弱IBOutlets的区别

XcodeiOS5.1SDK中的strong和weakIBOutlets有什么区别?我之前使用的是4.3SDK,其中不存在强大的IBOutlets。此外,(自动)发布在iOS5.1SDK中不可用。 最佳答案 Strong表示只要这个属性指向一个对象,那个对象就不会自动释放。在非ARC中,它是retain的同义词Specifiesthatthereisastrong(owning)relationshiptothedestinationobject.Weak相反,意味着属性指向的对象可以自由释放,但前提是它将属性设置为NULL。在AR

ios - IBOutlets强弱

这个问题在这里已经有了答案:ShouldIBOutletsbestrongorweakunderARC?(11个答案)关闭9年前。socket可以这样创建@interfaceSearchViewController:UIViewController{IBOutletUIView*viewSearchBar;IBOutletUIScrollView*scrollVieww;IBOutletUILabel*lblName;}也喜欢这个@interfaceSearchViewController:UIViewController{}@property(nonatomic,weak)IBOut