如何从 Swift class 访问 Objective-C NSMutableDictionary?

How to access an Objective-C NSMutableDictionary from a Swift class?

我有一个名为 linkedinlogincontroller 的 Objective-C 控制器。在该控制器中,我有一个名为 resultNSMutableDictionary

简单地说,我只需要知道在 Swift 控制器中访问该词典的最佳实践方法是什么?

您应该可以像 swift 词典一样使用它。要访问其中的元素:

linkedinlogincontroller.result[key]

应该可以正常工作。

看看这个link: Using Objective C & Swift together.

<YourProjectName>-Bridging-Header.h 中公开 ObjectiveC class。

#import "linkedinlogincontroller.h"

目标 C Header

//  linkedinlogincontroller.h
#import <UIKit/UIKit.h>
@interface linkedinlogincontroller : UIViewController
@property (nonatomic, strong) NSMutableDictionary * result;
@end

ObjectiveC 实现

//  linkedinlogincontroller.m
#import "linkedinlogincontroller.h"
#import "<YourProjectName>-Swift.h"

@implementation linkedinlogincontroller

...
    self.result = [NSMutableDictionary dictionaryWithDictionary:@{@"key":@"value"}];
    NSLog(@"Print from Objc %@", self.result);
    YourSwiftClass * so = [[YourSwiftClass alloc] init];
    [so printFromSwift:self];
...

Swift 实施

//  YourSwiftClass.swift
import Foundation

@objc class YourSwiftClass : NSObject {
    func printFromSwift(vc:linkedinlogincontroller) {
        println ("Print from Swift \(vc.result)")
    }
}