我在同一个项目中结合了 Swift 和 Objective-C。我正在尝试像这样使用STTwitter cocoapod:
// objective-c
// STTwitter category method
//
- (void)getStatusesLookupTweetIDs:(NSArray *)tweetIDs
successBlock:(void (^)(NSArray *))successBlock
errorBlock:(void (^)(NSError *))errorBlock {
[self getStatusesLookupTweetIDs:tweetIDs
includeEntities:@(YES)
trimUser:@(YES)
map:@(YES)
successBlock:successBlock
errorBlock:errorBlock];
}
SWIFT代码
// swift
twitterApi.getStatusesLookupTweetIDs(ids, successBlock: { (tweets: [AnyObject]!) -> Void in
process(tweets)
finish()
}, errorBlock: { (err) -> Void in
error(err)
})
Obj-C 中的一切看起来都很好(我尝试不调查传递给 的变量successBlock
,它们都有有效值)。但在 Swift 中,当successBlock
被执行时,tweets
是:
Printing description of tweets:
([AnyObject]!) tweets = 1 value {
[0] = <error: use of undeclared identifier 'cocoarr'
error: 1 errors parsing expression
>
}
我该如何解决这个问题并传递NSArray
给 Swift?(没有编译错误)