从Swift访问自定义Obj-C类别

时间:2014-06-11 20:59:48

标签: categories swift

我正在尝试在Swift文件中访问此自定义obj-C类别:

#import "NSString+UUID.h"

@implementation NSString (UUIDCategory)

+ (NSString*)stringWithUUID 
{
    CFUUIDRef uuid = CFUUIDCreate(kCFAllocatorDefault);
    NSString *string = (NSString*)CFMakeCollectable(CFUUIDCreateString(kCFAllocatorDefault, uuid));
    CFRelease(uuid);
    return [string autorelease];    
}

@end

所以,我补充道:

#import "NSString+UUID.h" 

在我的桥接标题中,但无法找到使用它的解决方案。

var string = NSString.stringWithUUID()

编辑:代码似乎现在正常工作(问题是我在导入我的类别之前没有在我的桥接头中包含#import Foundation / Foundation.h。

1 个答案:

答案 0 :(得分:2)

这是一个工厂方法,Swift会自动为您创建一个初始化程序!

您应该能够像这样使用它:

 let string = NSString(UUID:uuid)

关闭主题,但你应该采用ARC:]