0
我正在從Objective-C類調用函數。我從我的Swift類傳遞一個數組到一個Objective-C函數中。將Swift中的NSArray傳遞給Objective-C函數
這裏是我的雨燕
var videosAutoCompletion:[String] = []
completeSearch.autocompleteSegesstions(searchText, self.tableView, self.videosAutoCompletion)
Objective-C的功能
-(void)autocompleteSegesstions : (NSString *)searchWish :(UITableView*)table :(NSArray*)stringArray
裏面的Objective-C的功能,我有一個塊
dispatch_sync(dispatch_get_main_queue(), ^{
self.ParsingArray = [[NSMutableArray alloc]init]; //array that contains the objects.
for (int i=0; i != [jsonObject count]; i++) {
for (int j=0; j != 1; j++) {
//NSLog(@"%@", [[jsonObject objectAtIndex:i] objectAtIndex:j]);
[self.ParsingArray addObject:[[jsonObject objectAtIndex:i] objectAtIndex:j]];
//Parse the JSON here...
//NSLog(@"Parsing Array - %@",self.ParsingArray);
stringArray = [self.ParsingArray copy];
[table reloadData];
}
}
});
我得到這個代碼以下行錯誤。
變量沒有分配(缺少__block類型說明符) 在行
stringArray = [self.ParsingArray copy];
至少有兩個StackOverflow問題可以解決這個錯誤。這與Swift無關;它與使用「塊」(Swift中的「閉包」的Objective-C名稱)有關。 [在塊中將變量分配給塊外的變量](https://stackoverflow.com/q/7962721/1107226)和[「變量不可分配(缺少__block類型說明符)」方法中使用變量時出錯在方法塊中聲明](https://stackoverflow.com/q/36573957/1107226) – leanne