gpt4 book ai didi

cocoa - 你使用什么样的类别方法来使Cocoa编程变得更容易?

转载 作者:行者123 更新时间:2023-12-03 16:03:03 28 4
gpt4 key购买 nike

我使用 Cocoa 内置类的一系列类别方法来让我的生活更轻松。我将发布一些示例,但我真的很想看看其他编码人员想出了什么。 正在使用哪种方便的分类方法?

示例#1:

@implementation NSColor (MyCategories)
+ (NSColor *)colorWithCode:(long)code
{
return [NSColor colorWithCalibratedRed:((code & 0xFF000000) >> 24) / 255.0
green:((code & 0x00FF0000) >> 16) / 255.0
blue:((code & 0x0000FF00) >> 8) / 255.0
alpha:((code & 0x000000FF) ) / 255.0];
}
@end

// usage:
NSColor * someColor = [NSColor colorWithCode:0xABCDEFFF];

示例#2:

@implementation NSView (MyCategories)
- (id)addNewSubViewOfType:(Class)viewType inFrame:(NSRect)frame
{
id newView = [[viewType alloc] initWithFrame:frame];
[self addSubview:newView];
return [newView autorelease];
}
@end

// usage:
NSButton * myButton = [someView addNewSubviewOfType:[NSButton class]
inFrame:someRect];

最佳答案

我真的很喜欢 Andy Matuschak 在 NSObject 上的“KVO+Blocks”类别。 (是的,它在内部添加了一些新类作为实现细节,但最终结果只是 NSObject 上的一个类别)。它允许您提供一个在符合 KVO 的值更改时执行的 block ,而不必在 observeValueForKeyPath:ofObject:change:context: 方法中处理每个 KVO 观察。

关于cocoa - 你使用什么样的类别方法来使Cocoa编程变得更容易?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1342286/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com