Swift - 桥接头失败。 “*”没有名为“*”的成员
Posted
技术标签:
【中文标题】Swift - 桥接头失败。 “*”没有名为“*”的成员【英文标题】:Swift - Bridging header failed. '*' does not have a member named '*' 【发布时间】:2015-10-15 05:45:46 【问题描述】:我开发了一个使用 CommonCrypto 库的应用程序。问题是我可以在 Swift 文件中创建一个实例。我的对象是使用 Objective-C 创建的。似乎不能很好地创建桥接头。
错误信息
/Users/MNurdin/Documents/ios/xxxxx/Models/Main.swift:15:9: 'CustomObject' does not have a member named 'encrypt'
CustomObject.h
#import <Foundation/Foundation.h>
#import <CommonCrypto/CommonCrypto.h>
#import "GTMBase64.h"
@interface CustomObject : NSObject
+ (NSString*)encrypt:(NSString*)plainText withKey:(NSString*)key;
@end
CustomObject.m
#import "CustomObject.h"
@implementation CustomObject
+ (NSString*)encrypt:(NSString*)plainText withKey:(NSString*)key
/*--*/
return result;
@end
全球.swift
var instanceOfCustomObject: CustomObject = CustomObject()
println(instanceOfCustomObject.encrypt("p@$$w0rd","12345678"))
【问题讨论】:
我收到此错误消息,表达式不允许在顶层 哪一行?还在想办法。 【参考方案1】:声明中开头的+
表示
+ (NSString*)encrypt:(NSString*)plainText withKey:(NSString*)key;
是Objective-C中的一个类方法。你必须调用它 class(或 Swift 语言中的 type)本身,而不是实例:
let encrypted = CustomObject.encrypt("p@$$w0rd", withKey: "12345678")
【讨论】:
以上是关于Swift - 桥接头失败。 “*”没有名为“*”的成员的主要内容,如果未能解决你的问题,请参考以下文章