.completePathIntoString中存在编译器错误



我想在操场上写一段简单的代码,这将允许我在自定义目录中搜索"txt"one_answers"csv"文件。我在《字符串编程指南》中写了这段代码(在ObjectiveC中)。

这是我的代码:

// Playground - noun: a place where people can play
import Cocoa
var str = "Hello, playground"
var partialPath : NSString = "~/aaa/"
var longestCompletition : NSString
var outputArray : NSArray
var filterTypes = ["txt", "csv"]
var allMatches = [partialPath .completePathIntoString(longestCompletition, caseSensitive: 0, matchesIntoArray: outputArray, filterTypes: filterTypes)]
println(outputArray)

这是该指南中的代码:

NSString *partialPath = @"~/Demo/r";
NSString *longestCompletion;
NSArray *outputArray;
NSArray *filterTypes = @[@"txt", @"rtf"];
unsigned textMatches = [partialPath completePathIntoString:&outputName
caseSensitive:NO
matchesIntoArray:&outputArray
filterTypes:filterTypes];

我在输出中出错:

NSString无法转换为AutoreleaseingUnsafeMutablePointer

我哪里搞错了?

这使编译器通过:

var str = "Hello, playground"
var partialPath : NSString = "~/aaa/"
var longestCompletition : NSString?
var outputArray : NSArray? = []
var filterTypes = ["txt", "csv"]
var allMatches = partialPath.completePathIntoString(&longestCompletition, caseSensitive: false, matchesIntoArray: &outputArray, filterTypes: filterTypes)
println(outputArray)

但我不能说它应该做什么的正确性——我把它留给你。