>

최근에 내 프로젝트에 새 포드를 추가하고 이전 포드를 업데이트했는데이 코드는 모두 이전에 작동했으며 이제는 '모호한'서브 스크립트 '사용'이 표시됩니다. 다른 답변을 확인하고있는 것처럼 보입니다. 현재 설정되어 있는지 확인하십시오. 왜 갑자기 이러한 코드 줄이 모두 오류로 표시되는지 잘 모르겠습니다.

databaseRef.child("following").queryOrderedByKey().observeSingleEvent(of: .value, with: { (postsSnapshot) in
    let posts = postsSnapshot.value as! [String: AnyObject]
    for (_, post) in posts {
        for (_, postInfo) in post as! [String: AnyObject] {
            if let followingID = postInfo["uid"] as? String {
                for each in self.following {
                    if each == followingID {
                        guard let uid = postInfo["uid"] as! String? else {return}
                        guard let name = postInfo["businessName"] as! String? else {return}
                        guard let address = postInfo["businessStreet"] as! String? else {return}
                        guard let state = postInfo["businessState"] as! String? else {return}
                        guard let city = postInfo["businessCity"] as! String? else {return}
                        let data = ["uid":postInfo["uid"] as! String, "businessName":postInfo["businessName"] as! String, "businessStreet":postInfo["businessStreet"] as! String, "businessState":postInfo["businessState"] as! String, "businessCity":postInfo["businessCity"] as! String,"businessZIP":postInfo["businessZIP"] as! String, "businessPhone":postInfo["businessPhone"] as! String, "businessLatitude":postInfo["businessLatitude"] as! String, "businessLongitude":postInfo["businessLongitude"] as! String, "businessWebsite":postInfo["businessWebsite"] as! String, "facebookURL":postInfo["facebookURL"] as! String, "foursquareURL":postInfo["foursquareURL"] as! String, "googleURL":postInfo["googleURL"] as! String, "instagramURL":postInfo["instagramURL"] as! String, "snapchatURL":postInfo["snapchatURL"] as! String, "twitterURL":postInfo["twitterURL"] as! String, "yelpURL":postInfo["yelpURL"] as! String]

  • 답변 # 1

    문제는 당신의 AnyObject 사용입니다 . 와이즈 비즈   postInfo 로 선언되고 있습니다  그러나 사전처럼 사용하려고하므로 오류가 발생합니다.

    AnyObject 인 경우  사전 사전이며, 다음과 같이 선언합니다.

    변경 :

    post
    
    

    to :

    for (_, postInfo) in post as! [String: AnyObject] {
    
    

    이것은 for (_, postInfo) in post as! [String: [String: AnyObject]] { 를 바꿀 것입니다  와이즈 비즈   postInfo 대신 .

    [String: AnyObject]

  • 이전 boot - 시작시 파이썬 스크립트를 실행하는 방법이 작동하지 않습니다
  • 다음 C ++ sdl 창 정지 및 sdl 관련 문제