У меня есть функция C сопоставлен Swift определяется как:Swift строки новообращенного UnsafeMutablePointer <Int8>
func swe_set_eph_path(path: UnsafeMutablePointer<Int8>) -> Void
Я пытаюсь пройти путь к функции и попытался:
var path = [Int8](count: 1024, repeatedValue: 0);
for i in 0...NSBundle.mainBundle().bundlePath.lengthOfBytesUsingEncoding(NSUTF16StringEncoding)-1
{
var range = i..<i+1
path[i] = String.toInt(NSBundle.mainBundle().bundlePath[range])
}
println("\(path)")
swe_set_ephe_path(&path)
но линия путь [я] я получаю сообщение об ошибке:
'subscript' is unavailable: cannot subscript String with a range of Int
swe_set_ephe_path(NSBundle.mainBundle().bundlePath)
ни
swe_set_ephe_path(&NSBundle.mainBundle().bundlePath)
не работает либо
Кроме того, не работает, я чувствую, что надо быть лучше, менее замысловатым способом сделать это. Предыдущие ответы на StackOverflow с использованием CString больше не работают. Какие-либо предложения?
Пожалуйста, при отображении кода, всегда показывать _real_ код. Ваше заявление не является реальным - это не действительное объявление функции Swift, и я подозреваю, что имя функции неверно. Не вводите код в Stack Overflow; скопируйте и вставьте код _real_. Всегда. – matt