サーバーからすべてのデータを取得し、JSONを使用して解析しています。それぞれの話を聞いた後、私はMyStory
というクラスを作りました。私のアプリケーションはiPhone/iPadでは実行されていませんが、シミュレータ上でうまく動作しています
class MyStory: NSObject
{
var location = ""
var storyId = 0
var title = ""
var story = ""
var AllImages = [Image]()
var images = NSArray() {
willSet(newValue){
// print("newvalue \(newValue)")
for obj in newValue {
let img = Image(dictionary: obj as! [String : AnyObject])
AllImages.append(img)
//imagePaths.append(img.imagePath)
let helper = HelperClass()
var imageDetail = "http://www.sleeksolutions.net/saad/" + img.imagePath
helper.imagepath.append(imageDetail)
//print("counter: \(helper.imagepath.count)")
}
}
}
init(dictionary: [String:AnyObject]) {
super.init()
self.setValuesForKeysWithDictionary(dictionary)
}
override func setValue(value: AnyObject?, forKey key: String) {
if key == "images"
{
// print("key = \(key) , value : \(value)")
}
//error occurs here.
super.setValue(value, forKey: key)
}
}
そして、この関数はクラスSeeStories
によって呼び出されます。ここでは、コードは次のようになります。
let session = NSURLSession.sharedSession()
let request = NSMutableURLRequest(URL: url!)
request.timeoutInterval = 10
request.HTTPMethod = "GET"
let task = session.dataTaskWithRequest(request)
{
(dat, res, er) in
if er == nil
{
do
{
print("m hereeee")
self.serverStatus = true
let jsonObject = try NSJSONSerialization.JSONObjectWithData(dat!, options: .MutableContainers)
let arr = jsonObject as! NSDictionary
//print(jsonObject)
let storiees = arr["stories"] as! NSArray
for obj in storiees{
//Calling to MyStory Class here
let s = MyStory(dictionary: obj as! [String : AnyObject])
self.stories.append(s)
let stat = self.fetch(s)
if stat == false
{
self.saveInCoreData(s)
}
}
}
}
}
は、ブレークポイント例外 – Shubhank
は私にsetValuesForKeysWithDictionary'方法 – zylenv
'内のコードを表示してくださいを追加するには、任意の外部ライブラリを使用していますか? –