Swift에서 Radio Icecast 라이브러리를 사용하는 방법이 명확하지 않습니다. 다음을 스위프트로 어떻게 변환합니까?Objective-C에서 Swift로 변환하는 방법
radio = [[Radio alloc] init:@"my app"];
[radio connect:STREAM_URL withDelegate:self withGain:(1.0)];
playing = YES;
Swift에서 Radio Icecast 라이브러리를 사용하는 방법이 명확하지 않습니다. 다음을 스위프트로 어떻게 변환합니까?Objective-C에서 Swift로 변환하는 방법
radio = [[Radio alloc] init:@"my app"];
[radio connect:STREAM_URL withDelegate:self withGain:(1.0)];
playing = YES;
이 클래스가 구현 한 방식은 init
입니다. 올바르지 않습니다. 일반적으로 init
(매개 변수 없음)이라는 메서드가 표시되고 사용자 에이전트 매개 변수가있는 rendition이 필요한 경우 메서드는 initWithUserAgent:
이됩니다.
는 그래서, Radio.h
파일의 선언을 찾을 수 :
- (id)init:(NSString *)userAgent;
을 그리고로 교체 :
- (id)initWithUserAgent:(NSString *)userAgent;
가 Radio.m
파일과 동일한 작업을 수행.
radio = [[Radio alloc] initWithUserAgent:@"my app"];
[radio connect:STREAM_URL withDelegate:self withGain:1.0];
playing = YES;
을 그리고 스위프트 동등한은 다음과 같습니다 :
그런 다음 목표 - C 구문이된다
radio = Radio(userAgent: "my app")
radio.connect(STREAM_URL, withDelegate: self, withGain: 1.0)
playing = true
물론,이 Radio
클래스는 다음 좋겠, 오브젝티브 C로 구현되는 경우 브리징 헤더에 .h 파일을 포함시킵니다. 브리징 헤더에 대한 자세한 내용은 Swift and Objective-C in the Same Project 참조를 참조하십시오.
구문이 올바르게되었지만 라디오가 정의되지 않은 것 같습니다. 신속한 https://github.com/hamedh/Radio에서이 구성 요소를 사용하려고합니다. Icecast 기반의 라디오 스트리밍 앱을 제작하려고합니다. –
'Radio.h'가 브리징 헤더에 추가 된 것처럼 들리지 않습니다. 이러한 파일을 프로젝트에 추가하면 Xcode에서 브리지 헤더를 추가하라는 메시지를 자동으로 표시 했습니까? 그리고 나서, 그 헤더에'#import "Radio.h"'를 추가 했습니까? – Rob
아니요 수동으로 브리지 헤더를 추가해야했습니다. 문제가 될 수 있습니까? 그리고 나는 Radio.h를 브릿 징 헤더에 임포트했다. –
* * 라디오는? 애플이 제공하는 것 같지는 않습니다. 스위프트 인터페이스가 있습니까? 이 프로젝트의 –
이 https://github.com/hamedh/Radio입니다. 아니요.하지만 브리지 헤더로 작업하려고합니다. –