Я хочу, чтобы получить эту строку в одной из моих функций ... но это не проблема, которую я делал раньше. Но на этот раз строка определяется как и пусть внутри внутри функции и не может быть найдена где-либо еще внутри функции. Я хочу, чтобы иметь возможность использовать то же значение (fileloaction) строку за пределами этой функции, но ее невозможно найти. Вот мой код:swift, как извлечь строку из другой функции?
func extract_json(data:NSString)
{
var parseError: NSError?
let jsonData:NSData = data.dataUsingEncoding(NSASCIIStringEncoding)!
let json: AnyObject?
do {
json = try NSJSONSerialization.JSONObjectWithData(jsonData, options: [])
} catch let error as NSError {
parseError = error
json = nil
}
if (parseError == nil)
{
if let works_list = json as? NSArray
{
for (var i = 0; i < works_list.count ; i++)
{
if let fileList = works_list[i] as? NSDictionary
{
if let fileName = fileList["filename"] as? String
{
TableData1.append(fileName)
//if let country_code = country_obj["post_text"] as? String
//{
//TableData1.append(country_name + " [" + country_code + "]")
//}
}
this is the function
if let filelocation = fileList["filelocation"] as? String
{
TableData1.append(filelocation)
}
if let mime = fileList["mime"] as? String
{
TableData1.append(mime)
}
}
}
}
}
do_table_refresh();
}
Эта строка fileloaction не могу найти где-либо еще в этой функции, так по этой причине я не могу использовать его где-нибудь еще, что я должен был бы, как здесь:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
extract_json(filelocation)
// selectedFileLocation = "http://192.168.1.14:8080/Works/uploads/1445557983_putty.docx"
selectedFileLocation = filelocation
if(segue.identifier == "detailView") {
let vc = segue.destinationViewController as! DisplayWorksViewController
vc.selectedFileLocation = selectedFileLocation
vc.selectedLabel = selectedLabel
print("selectedFileLocation = \(vc.selectedFileLocation)")
}
}
как вы это сделаете, если он не сможет забрать его где-нибудь – BOB
вы можете отформатировать свой код. Чтобы я мог помочь вам в этом. – PK20
вы также можете добавить некоторые инструкции печати внутри своего кодового блока, чтобы увидеть, где он ломается. – PK20