我正在开发一个程序来使用swift中的JSON解析数据。我写了以下代码 -
class ViewController: UIViewController {
var arrDict :NSMutableArray=[]
@IBOutlet weak var jsontblvw: UITableView!
override func viewDidLoad()
{
super.viewDidLoad()
jsonparsingfromurl()
}
func jsonparsingfromurl()
{
let url = NSURL(string: "http://theappguruz.in//Apps/iOS/Temp/json.php")
let request = NSURLRequest(URL: url!)
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) {
(response, data, error) in
startParsing(data!)
}
}
func startParsing(data : NSData)
{
let dict : NSDictionary!=(try! NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers)) as! NSDictionary
for var i=0 ; i < (dict.valueForKey("MONDAY") as! NSArray).count ; i++
{
arrDict.addObject((dict.valueForKey("MONDAY") as! NSArray) .objectAtIndex(i))
}
}
}
当我尝试写行arrDict.addObject((dict.valueForKey("MONDAY") as! NSArray) .objectAtIndex(i))
时,它总是抛出一个&#34;使用未解析的标识符arrDict&#34;的错误。尽管我已经正确地声明了数组,但它为什么显示呢?
答案 0 :(得分:0)
看起来函数startParsing是在ViewController范围之外声明的,因此它无法访问该类的属性。你的意思是在结束大括号内声明这些函数吗?
答案 1 :(得分:0)
答案很简单,因为我在类的接口之外声明并使用该函数,这就是为什么它没有访问特定类的属性。