草庐IT

iBoutlet

全部标签

ios - 在 iOS 6.1 上,UISwitch IBOutlet 始终为 nil

我在静态UITableView上使用UISwitch时遇到了一些问题。当应用程序加载时,我必须恢复某个UISwitch的最后状态,但每当我检查IBOutlet的状态时,它都是nil。我试过手动分配变量,这也没有帮助。这是我正在做的:设置Controller.h//IBOutletconnectedcorrectly@property(strong,nonatomic)IBOutletUISwitch*switch_displayDetail;SettingsController.m-(void)viewWillAppear:(BOOL)animated{[superviewWillAp

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

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

ios - 为什么我的 IBOutlet 在 ARC 下发布?

问题一个IBOutlet在我有机会使用它之前就被释放了。我想要什么我想从我的应用委托(delegate)访问导航Controller,以便重新加载表格View。我的设置我有:在目标设置中设置为我的主界面的Main.xib导航Controller的IBOutlet作为我的应用委托(delegate)上的ivar这个IBOutlet连接到Main.xib中正确的导航ControllerAppDelegate在xib中实例化但未设置为文件所有者我正在使用ARC、Xcode4.3.2和iOS5.1我尝试过的改变部署目标在导航Controller、应用委托(delegate)的dealloc上设

iOS >> prepareForSegue >> IBOutlet 更新不起作用?

我正在尝试在prepareForSegue方法中从第一个VC更新第二个VC中的标签。-(void)prepareForSegue:(UIStoryboardSegue*)seguesender:(id)sender{MYSecondViewController*secondVC=(MYSecondViewController*)segue.destinationViewController;secondVC.titleLabel.text=@"FirstVCSays:YouAreSecond!!";//Thisdoesn'tworksecondVC.dataPassString=@"F

objective-c - IBOutlet 是否暗示 __weak?

刚开始使用ARC。在ARC之前,我只是简单地声明我的导出,例如:IBOutletUIButton*button;所以我不会保留它或任何东西。对于ARC,不指定弱或强意味着强。所以如果我在ARC下做同样的事情(即IBOutletUIButton*button;),这是否意味着按钮是一个强引用?还是我必须明确地将其定义为弱?简而言之,IBOutlet是否暗示__weak? 最佳答案 单词IBOutlet实际上没有定义:#defineIBOutletXcode只是在您的代码中使用这个词的存在,以允许您在InterfaceBuilder中建

ios - IBOutlet 最佳实践

我想知道哪个地方最适合放置Storyboard中的IBOutlets:a)在头文件(.h)中b)在.m文件上创建的类扩展谢谢问候 最佳答案 你必须记住.h是一个公共(public)header。如果其他类可以访问它们,那么将您的IBOutlet放在那里。但是,即使您可以做到这一点。我要说的是,在公共(public)header中公开IBOutlet并不是一个好的做法(从面向对象的角度来看),因为您公开了一些实现细节,这些实现细节应该只对关注的人可见。简而言之,将IBOutlet放在.m的类扩展中是一个很好的做法。

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

ios - 我可以将具有不同标签的多个对象连接到同一个 IBOutlet 吗?

我在InterfaceBuilder的一个View中有30个按钮。每个都有一个介于100001和100030之间的不同标签。我发现对每个按钮使用相同的操作很容易,在按下时为每个按钮传递标签并使用代码来决定加载哪个级别。我想将所有按钮连接到一个IBOutlet,但让每个按钮根据用户保存的数据和按钮的标签加载不同的图像。我该怎么做? 最佳答案 使用IBOutletCollection将socket集合添加到您的ViewController,如下所示:@property(retain,nonatomic)IBOutletCollectio