如果A类正在使用B类而A类是B类的委托,那么如果在B类的dealloc中将委托设置为nil,那么它可以吗?我已经看到代码通常会将代理重置为类A的dealloc中的nil,但不确定这样或那样的真正区别.
这是通常的方式:
// somewhere in class A
- (void) someFunc {
self.b = [[B alloc] init];
self.b.delegate = self;
}
- (void) dealloc {
self.b.delegate = nil;
[self.b release];
}
Run Code Online (Sandbox Code Playgroud) 我想知道这个方法的参数会返回什么.
- (void) observeValueForKeyPath:(NSString *)keyPath
ofObject:(id)object
change:(NSDictionary *)change
context:(void *)context;
Run Code Online (Sandbox Code Playgroud)
在文档中说
keyPath相对于对象的键路径,已更改的值.
object key path keyPath的源对象.
change一个字典,描述对关键路径keyPath的属性值所做的更改相对于object.
context注册接收器以接收键值观察通知时提供的值.
您能否为我解释这些参数,因为我发现文档有点难以理解.
我有一个应用程序,允许打开多个NSDocuments.在此应用程序中是一个单一的实用程序窗口,其中包含我想要应用于最前面的文档的一些功能.
我试图在这里使用绑定,所以诀窍是如何干净地将实用程序窗口的用户界面绑定到最前面的文档.目标是然后切换最前面的文档窗口将更新实用程序窗口中的视图; 当文档模型中的状态发生变化时,绑定到最前面文档模型属性的控件将被适当更新.
要从这样的窗口发送动作,只需使用第一响应者即可; 文档对象可以通过响应者链拦截动作.但我想要更多,当然你不能绑定第一响应者.
我有一些想法:
这些似乎都不对.有没有更好的方法来做到这一点,我错过了?
我想弄清楚任何特定日期(即2009年6月27日)的哪一天(即周一,周五......)
谢谢.
我有一个NSString并且无法应用以下语句:
NSString *myString = @"some text";
[myString stringByAppendingFormat:@"some text = %d", 3];
Run Code Online (Sandbox Code Playgroud)
没有日志或错误,字符串不会被更改.我已经尝试过使用NSString(如文档所述)和NSMutableString.
任何线索最受欢迎.
我是Mac和iOS编程的新手,最近决定真正认真地开发两种平台的应用程序.我采取的第一步是注册Mac和iOS开发人员程序,下载Xcode并学习一本关于Objective-C的书.我花了6周的时间熟悉Objective-C,它的语法,概念和Foundation框架,并且纯粹是为了这些目的开发命令行应用程序.
现在,下一步似乎是Cocoa和开发提供图形用户界面的应用程序,我现在正在研究.现在,这是我遇到的一个问题:由于我完全失明,我无法直观地看到屏幕.因此,我使用VoiceOver,OS X和iOS内置的屏幕阅读器.也许有些开发者在某些时候听说过VoiceOver,因为Apple已经指定了与VoiceOver有关的各种可访问性指南.在这方面,非常感谢所有遵守这些指导方针的人,非常感谢您的努力!:-)
对于Xcode,它实际上与VoiceOver(VO)非常有效.添加新的UI元素也没什么大不了的,我可以从库中复制它们并将它们粘贴到视图中.但是,我不能拖累它们并以吸引人的方式设置它们,或者至少我还没有找到任何方法来实现它,因为我刚刚开始!
现在,我真的想知道是否有任何"文本"方式来安排UI元素.我知道检查员有很多种选择,但是我不确定他们是否会让我说手动更改UI元素的坐标.此外,我已经阅读了有助于创建一致布局的新约束,但此时我并不熟悉如何使用它们或者它们在我的情况下是否有用.
此外,我确实认识到,生成一个100%吸引有目标的最终用户的界面对我来说可能是不可能的,因为我很难决定颜色选择或设计徽标.因此,我可能需要雇用某人来做这些事情.但是,如果我可以粗略地指定布局,那对我来说已经很有帮助了!
感谢您的任何想法/建议:-)
知更鸟
我即将开始一个项目,我将成为唯一一个做实际代码的人和两个经验不足的程序员(可怕的想象自己经验丰富!)将会一直在观看并对程序提出建议.
是否有一个好的(免费)系统,我可以根据我编写的代码提供类和函数的文档?它可能会帮助他们掌握数据结构.
我正在一个类中创建一个字典数组.我想将该数组的副本返回给要求它的任何其他对象.传递给其他对象的副本需要在不修改原始对象的情况下进行修改.
所以我在我的类的getter方法中使用以下内容来保存"master"数组:
[[NSMutableArray alloc] initWithArray:masterArray copyItems:YES];
Run Code Online (Sandbox Code Playgroud)
但是,这似乎使所有字典内部不可变.我怎么能避免这个?
我想我在这里遗漏了一些东西.任何帮助都感激不尽!
我正在编写一个Cocoa应用程序,它在NSOutlineView中显示存档文件的内容.我在大纲列中为NSBrowserCell提供了一个自定义图标,它工作得很好,但我遇到了一个小麻烦 - 使用[NSImage imageNamed:@"NSFolder"]10.6返回正确的图像(通用文件夹图标),但在10.5它返回nil,所以所有的文件夹图标消失.(我找不到有关NSFolder图标名称的任何文档,看看它什么时候被引入 - 我通过反复试验得到它.)
是否有一种不推荐使用的方法来获取适用于10.5和10.6的通用文件夹图标?
对于我正在创建的iPad应用程序,我的项目中有一个包含多个颜色集的资产目录.我知道我可以将这些拖放到代码本身,并为@IBInspectable类属性的默认颜色这样做.但是,当我在Interface Builder中使用它们时,我的颜色集可用于UIView的背景颜色等属性,但它们不适用于@IBInspectable允许用户设置颜色的任何属性.有没有办法将我的颜色集暴露给我的@IBInspectable类到Interface Builder中可以选择的位置?当然,我总是可以通过编程方式设置它们,但是为了将来使用和方便起见,如果Apple目前支持它,我想让它工作.如果该信息相关,我的色彩资产目录肯定会添加到我的构建设置中的项目的Bundle Resources中.
我的问题截图:
第一张图像显示了我的颜色集可以选择的位置,如UIView的背景.接下来的两个展示了我们的@IBInspectable房产无法使用的地方.


