首页 > 解决方案 > 来自类 Objective C 的 Swift 完成处理程序

问题描述

我很快就上了这门课

  @objc class NetworkManager: NSObject{
   var dataRepositories: [repositories]!
   static let shared = NetworkManager()

func request_repositories(_ completionHanlder: @escaping ()-> Void){
    Alamofire.request("https://api.github.com").responseJSON { (response) in
        let data = response.data
        // print(response)

        do{
            let r = try JSONDecoder().decode(repositories.self, from: data!)
            self.dataRepositories = [r]
             completionHanlder()

        }catch let error{
            print(error)
            return
        }
    }

}

我不能在目标 c 类中调用 request_repositories

@interface ViewController ()
@property (strong, nonatomic) NetworkManager *man;


@end
@interface NetworkManager ()
-(void)request_repositories;
//-(repositories*)retornar;
@end


@implementation ViewController

 - (void)viewDidLoad {
   [super viewDidLoad];
     // Do any additional setup after loading the view, typically from a nib.
   self.man = [NetworkManager alloc];
   [self.man request_repositories];
   [[NetworkManager new] request_repositories];




  }


@end

我怀疑我是否可以在目标 c 类 c 中调用完成处理程序,如果可以,我该怎么做,我是 ios 编程新手,我有疑问,我这样做是因为我不知道如何在目标 c 中使用 json,如果有人有更好的建议,谢谢

标签: objective-cswift

解决方案


推荐阅读