我在nib文件中有两个UIViews,我使用IBOutlet
和weak
关键字将它们设置为我的视图控制器的属性.
但是,当我使用self.view1
我想用来指向笔尖中的视图时,它第一次起作用.但是当我以后使用它时,这两个属性就变成了nil
.
使用该strong
属性将解决问题.但我总是使用weak
该IBOutlet
物业.为什么在这种情况下它变成零?
setFrameAutosaveName:
我知道 Cocoa 可以使用or方法在用户默认值中保存窗口的位置saveFrameUsingName:
。
但是用户默认值在哪里?
每个应用程序的位置都固定吗?
我读了一段代码,它每秒都会检查数据并更新UI.这听起来像我们通常使用的NSTimer scheduledtimerwithtimeinterval
.但是这个代码是通过递归调用实现的dispatch_after
:
- (void) retriggerMethod {
... do stuff here, assuming you want to do it on first invocation ...
dispatch_after( ..., ^{
[self retriggerMethod];
});
}
Run Code Online (Sandbox Code Playgroud)
dispatch_after递归和NSTimer scheduledtimerwithtimeinterval之间的区别是什么?使用前者时是否存在潜在风险?我想当你使用它时,只要不结束这种递归,调用栈就会增长.
UIButton
有一个属性selected
,声明是
@property(nonatomic, getter=isSelected) BOOL selected
.
那么调用该属性的方法是正确的?
button.selected
button.isSelected
[button isSelected]
我知道他们在Xcode中都很好,那有什么意义getter=isXXX
呢?
ios ×3
cocoa ×2
dispatch ×1
iboutlet ×1
nstimer ×1
nswindow ×1
objective-c ×1
properties ×1
recursion ×1