只需要2个非常基本的说明。
1.
假设我有一个 A 类,它的成员声明如下:
@property (nonatomic,retain) NSString* stringInstanceVariable;
在我的一种方法中,我想将 stringInstanceVariable 初始化为某个字符串。我是否需要保留它?
我应该打电话给:
stringInstanceVariable = [[NSString stringWithCString:"Hello"] retain];
或者
stringInstanceVariable = [NSString stringWithCString:"Hello"];
或者我应该打电话给:
self.stringInstanceVariable = [NSString stringWithCString:"Hello"];
2.
使用 interface builder ,例如,当我右键单击文本字段控件时,我会得到一个方法列表。这些到底是什么?我可以注册观察的通知?而且我知道我可以使用 IB 实现并连接它们,我只想知道是否以及如何在没有 IB 的情况下仅使用代码来做到这一点。也许我可以通过使用“addTarget:action:forControlEvent”来做到这一点。
但如果是这样的话,那么 Cocoa 中的事件和通知有什么区别呢?或与委托相比更合适。