草庐IT

cocoa-design-patterns

全部标签

objective-c - 你可以手动实现 Cocoa 绑定(bind)吗?

我在为我自己的NSView子类实现绑定(bind)方面有所突破。它可以工作,但是从nib文件绑定(bind)到文件所有者时,保留周期会出现问题。稍微阅读后,我发现苹果几年前也遇到过同样的问题,但已经用一些神奇的无证类(NSAutounbinder)修复了它。这里对保留周期问题进行了冗长的讨论http://www.cocoabuilder.com/archive/message/cocoa/2004/6/12/109600.解决方法是在窗口Controller释放之前解除所有绑定(bind),而不是在它解除分配之前,在windowWillClose:之类的地方。这对我来说似乎是一个不必要

objective-c - 你可以手动实现 Cocoa 绑定(bind)吗?

我在为我自己的NSView子类实现绑定(bind)方面有所突破。它可以工作,但是从nib文件绑定(bind)到文件所有者时,保留周期会出现问题。稍微阅读后,我发现苹果几年前也遇到过同样的问题,但已经用一些神奇的无证类(NSAutounbinder)修复了它。这里对保留周期问题进行了冗长的讨论http://www.cocoabuilder.com/archive/message/cocoa/2004/6/12/109600.解决方法是在窗口Controller释放之前解除所有绑定(bind),而不是在它解除分配之前,在windowWillClose:之类的地方。这对我来说似乎是一个不必要

objective-c - 让 Objective-C 类看起来很漂亮

我想就ObjectiveC中的代码异味,特别是CocoaTouch向大家征求意见。我正在开发一款相当复杂的游戏,并且即将开始GreatDecemberRefactoring。我的很多类,尤其是模型,都充满了处理内部业务逻辑的方法;我将把它们隐藏在一个私有(private)类别中,在我与大量头文件的war中。那些私有(private)类别包含大量声明,这让我感到不安……几乎就像Objective-C让我对所有这些方法感到内疚一样。我重构得越多(一件好事!),我就越需要维护所有这些重复(不太好)。就是感觉不对。在像Ruby这样的语言中,社区非常强调非常简短、清晰、漂亮的方法。我的问题是,对

objective-c - 让 Objective-C 类看起来很漂亮

我想就ObjectiveC中的代码异味,特别是CocoaTouch向大家征求意见。我正在开发一款相当复杂的游戏,并且即将开始GreatDecemberRefactoring。我的很多类,尤其是模型,都充满了处理内部业务逻辑的方法;我将把它们隐藏在一个私有(private)类别中,在我与大量头文件的war中。那些私有(private)类别包含大量声明,这让我感到不安……几乎就像Objective-C让我对所有这些方法感到内疚一样。我重构得越多(一件好事!),我就越需要维护所有这些重复(不太好)。就是感觉不对。在像Ruby这样的语言中,社区非常强调非常简短、清晰、漂亮的方法。我的问题是,对

objective-c - Objective-C 和 Cocoa 有什么区别?

我只是在为Mac学习Objective-C/Cocoa编程。我一直在使用的所有教程、书籍、博客、播客等都将两者结合在一起。有没有一种简单的方法可以区分哪些部分是普通的Objective-C,哪些来自Cocoa? 最佳答案 Objective-C是一门语言……它定义了所有的东西,比如定义对象的关键字、消息传递对象的语法等等。Cocoa是一个开发框架(它实际上是一个综合框架,结合了其他三个框架,Foundation、AppKit和CoreData)。这些框架(Cocoa)定义了所有易于使用并与操作系统交互的对象,以及许多功能。例如,Co

objective-c - Objective-C 和 Cocoa 有什么区别?

我只是在为Mac学习Objective-C/Cocoa编程。我一直在使用的所有教程、书籍、博客、播客等都将两者结合在一起。有没有一种简单的方法可以区分哪些部分是普通的Objective-C,哪些来自Cocoa? 最佳答案 Objective-C是一门语言……它定义了所有的东西,比如定义对象的关键字、消息传递对象的语法等等。Cocoa是一个开发框架(它实际上是一个综合框架,结合了其他三个框架,Foundation、AppKit和CoreData)。这些框架(Cocoa)定义了所有易于使用并与操作系统交互的对象,以及许多功能。例如,Co

objective-c - 如何在 Cocoa 中创建字符串的 MD5 哈希?

我知道首选SHA-1,但这个项目需要我使用MD5。#include-(NSString*)MD5Hasher:(NSString*)query{NSData*hashed=[querydataUsingEncoding:NSUTF8StringEncoding];unsignedchar*digest=MD5([hashedbytes],[hashedlength],NULL);NSString*final=[NSStringstringWithUTF8String:(char*)digest];returnfinal;}我从StackOverflow上另一个类似问题的答案中获得了这段

objective-c - 如何在 Cocoa 中创建字符串的 MD5 哈希?

我知道首选SHA-1,但这个项目需要我使用MD5。#include-(NSString*)MD5Hasher:(NSString*)query{NSData*hashed=[querydataUsingEncoding:NSUTF8StringEncoding];unsignedchar*digest=MD5([hashedbytes],[hashedlength],NULL);NSString*final=[NSStringstringWithUTF8String:(char*)digest];returnfinal;}我从StackOverflow上另一个类似问题的答案中获得了这段

objective-c - 在objective-c/cocoa-touch中是否有一个方便的功能来找到一个最小的数字?

我有两个号码,需要退回较小的号码。有什么我可以使用的功能吗?当然这是一项简单的任务,我可以做一个if语句。我只是想知道。 最佳答案 如果您使用整数,请使用MIN()宏:MIN(25,50);//Returns25如果您要比较两个NSNumber,则使用compare:方法:NSNumber*number,*secondNumber;//Assume'number'=25,'secondNumber'=50NSComparisonResultresult=[numbercompare:secondNumber];return(resu

objective-c - 在objective-c/cocoa-touch中是否有一个方便的功能来找到一个最小的数字?

我有两个号码,需要退回较小的号码。有什么我可以使用的功能吗?当然这是一项简单的任务,我可以做一个if语句。我只是想知道。 最佳答案 如果您使用整数,请使用MIN()宏:MIN(25,50);//Returns25如果您要比较两个NSNumber,则使用compare:方法:NSNumber*number,*secondNumber;//Assume'number'=25,'secondNumber'=50NSComparisonResultresult=[numbercompare:secondNumber];return(resu