Objective-C 桥接 NSArray 崩溃

Objective-C Bridge NSArray Crash

我正在尝试将一些数据从 swift 文件发送到 objective-c 文件。我已经配置了所有桥接 headers 和诸如此类的东西,这样当我传递一个字符串时,它可以被 objective-c 文件使用。但是,我真的很想传递一个 NSArray,当我这样做时,我得到了一大堆以

开头的错误
[Swift._NSSwiftArrayImpl length]: unrecognized selector sent to instance 0x6000000363a0

我看到了 Array element cannot be bridged to Objective-C 但那个页面上的解决方案,即在 swift 中将数组切换为 NSArray,并使数组 AnyObjects 中的所有 objects 不起作用;此外,我得到的错误与上述问题的错误不同。这是我的压缩代码:

Swift:

var myNSArray = ["foo","bar"]
objectiveCClassInstance.arrayPassFunction(myNSArray)

.h:

- (void)arrayPassFunction:(NSArray*)myObjectiveCNSArray;

.m:

- (void)arrayPassFunction:(NSArray*)myObjectiveCNSArray{
    NSLog(myObjectiveCNSArray);
}

您对 NSLog 的调用不正确。 NSLog 的第一个参数是格式字符串。你的意思是:

NSLog(@"%@", myObjectiveCNSArray);

我很惊讶你没有收到这方面的警告。