我不清楚如何在Swift中使用Radio Icecast库。我如何将以下内容翻译成Swift?
radio = [[Radio alloc] init:@"my app"];
[radio connect:STREAM_URL withDelegate:self withGain:(1.0)];
playing = YES;
答案 0 :(得分:1)
此类实现init
的方式不正确。通常,您会看到一个名为init
的方法(不带参数),如果您需要使用用户代理参数进行再现,则该方法将被称为initWithUserAgent:
。
因此,在Radio.h
文件中,找到声明:
- (id)init:(NSString *)userAgent;
并将其替换为:
- (id)initWithUserAgent:(NSString *)userAgent;
对Radio.m
文件执行相同操作。
然后Objective-C语法变为:
radio = [[Radio alloc] initWithUserAgent:@"my app"];
[radio connect:STREAM_URL withDelegate:self withGain:1.0];
playing = YES;
Swift的等价物是:
radio = Radio(userAgent: "my app")
radio.connect(STREAM_URL, withDelegate: self, withGain: 1.0)
playing = true
显然,如果在Objective-C中实现了此Radio
类,那么您在桥接头中包含.h文件。有关桥接标头的详细信息,请参阅Swift and Objective-C in the Same Project参考。