小编Gon*_*Gon的帖子

弱IBOutlet UIView属性将变为零

我在nib文件中有两个UIViews,我使用IBOutletweak关键字将它们设置为我的视图控制器的属性.

但是,当我使用self.view1我想用来指向笔尖中的视图时,它第一次起作用.但是当我以后使用它时,这两个属性就变成了nil.

使用该strong属性将解决问题.但我总是使用weakIBOutlet物业.为什么在这种情况下它变成零?

properties weak-references iboutlet ios

5
推荐指数
1
解决办法
2440
查看次数

setFrameAutosaveName 方法在哪里保存窗口的位置?

setFrameAutosaveName:我知道 Cocoa 可以使用or方法在用户默认值中保存窗口的位置saveFrameUsingName:

但是用户默认值在哪里?

每个应用程序的位置都固定吗?

cocoa nsuserdefaults nswindow

4
推荐指数
1
解决办法
1769
查看次数

dispatch_after recursion vs NSTimer scheduledtimerwithtimeinterval

我读了一段代码,它每秒都会检查数据并更新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之间的区别是什么?使用前者时是否存在潜在风险?我想当你使用它时,只要不结束这种递归,调用栈就会增长.

recursion nstimer dispatch grand-central-dispatch ios

2
推荐指数
1
解决办法
1948
查看次数

调用具有关键字"getter = isXXX"的Objective-c属性

UIButton有一个属性selected,声明是
@property(nonatomic, getter=isSelected) BOOL selected.

那么调用该属性的方法是正确的?

  1. button.selected
  2. button.isSelected
  3. [button isSelected]

我知道他们在Xcode中都很好,那有什么意义getter=isXXX呢?

cocoa objective-c ios

1
推荐指数
1
解决办法
314
查看次数