특정 객체에 대한 구문 분석 클래스를 어떻게 쿼리 할 수 있습니까?

ShaneN

내에서 ViewController나는 이전에 선택한 클럽의 이름을 표시하는 레이블이 ViewController. 이제 parse.com 클래스에서 쿼리를 생성하여 레이블로 표시된 클럽 이름과 일치하는 객체의 모든 정보를 검색해야합니다. 구문 분석을 성공적으로 수행하는 방법을 알고 있지만 이전보기에서 선택한 클럽에 따라 레이블 문자열이 다를 수 있으므로 레이블 문자열과 쿼리를 일치시키는 방법을 찾기가 어렵습니다.

암호:

import UIKit
import Parse

class MenuController: UIViewController {

    @IBOutlet weak var clubLabel: UILabel!

    var clubName = String()

    override func viewDidLoad() {
        super.viewDidLoad()

        clubLabel.text = clubName
    }
}

이전보기는 이미 다음과 같은 클럽 주석으로 맵을 채우기 위해 구문 분석을 요청했습니다.

        let annotationQuery = PFQuery(className: "Clubs")
        annotationQuery.findObjectsInBackgroundWithBlock{
        (clubs, error) -> Void in
        if error == nil {
            // The find succeeded.
            print("Successful query for annotations")
            // Do something with the found objects
            let myClubs = clubs! as [PFObject]
            for club in myClubs {

                //data for annotation
                let annotation = MKPointAnnotation()
                 let place = club["location"] as? PFGeoPoint
                let clubName = club["clubName"] as? String
                let stadiumName = club["stadium"] as? String
                annotation.title = clubName
                annotation.subtitle = stadiumName
                annotation.coordinate = CLLocationCoordinate2DMake(place!.latitude,place!.longitude)

                //add annotations
                self.mapView.addAnnotation(annotation)
Michaël Azevedo

default를 사용하는 대신 MKPointAnnotation이해하기 쉽도록 맞춤 주석을 사용합니다.


먼저 다른 파일에 프로토콜을 ClubAnnotation따르는 클래스를 생성 MKAnnotation합니다.

import UIKit
import MapKit
import Parse

class ClubAnnotation: NSObject, MKAnnotation {

    //MARK: - Instance properties

    let club:PFObject

    //MARK: - Init methods

    init(club:PFObject) {
        self.club = club
    }

    //MARK: - MKAnnotation protocol conformance

    var title: String? { get {       
        return club["clubName"]
        }
    }

    var subtitle: String? { get {
        club["stadium"]
        }
    }

    var coordinate: CLLocationCoordinate2D { get {        
        return CLLocationCoordinate2D(latitude:  club["location"].latitude, longitude: club["location"].longitude)
        }
    }
}

클럽 개체에 대해 "경기장", "클럽 이름"또는 "위치"필드가 비어있는 경우 오류를 처리 할 수 ​​있으므로 표시 방법을 결정할 수 있습니다.


그런 다음 MKMapView객체를 포함하고 MKMapViewDelegate프로토콜을 준수하는 클래스에서 쿼리 결과 처리를 바꿉니다.

let annotationQuery = PFQuery(className: "Clubs")
annotationQuery.findObjectsInBackgroundWithBlock{
    (clubs, error) -> Void in
    if let clubs = clubs where error == nil {
        // The find succeeded.
        print("Successful query for annotations")
        for club in clubs  {
            self.mapView.addAnnotation(ClubAnnotation(club:club))
        }
    } else {
        // Handle the error
    }
}

당신은 내가 수동으로 설정할 필요가 없습니다 실현 title, subtitle그리고 coordinate속성 당신 때문에 ClubAnnotation객체를 반환 직접적의 그것의 구현에 따라 MKAnnotation프로토콜입니다.

여전히이 클래스에 selectedClub속성을 추가 합니다. 이 속성은 선택한 주석에서 클럽을 저장하는 데 사용되며 푸시 된 뷰 컨트롤러로 전달됩니다.

var selectedClub:PFobject!

당신의에서 calloutAccessoryControlTapped위임 방법, 당신은 후 주석에서 PFObject를 얻을 수 있으며, 구문 분석에서를 조회 할 필요없이, 당신이 그것으로 원하는 모든 일의 새로운의 ViewController에 전달 :

    func mapView(mapView: MKMapView, annotationView view: MKAnnotationView, calloutAccessoryControlTapped control: UIControl) {

    mapView.deselectAnnotation(view.annotation, animated: true)

    if let annotation = view.annotation as? ClubAnnotation {            
       clubSelected = annotation.club
    }
}

이제 사용자 지정 주석 클래스에서 클럽 개체를 저장했으며 이에 대한 참조가 있습니다. 이 클럽에 대한 자세한 정보가 포함 된 새 뷰 컨트롤러를 표시하거나 푸시 prepareForSegue하려면이 값을 재정의 하고 푸시 된 / 표시된 뷰 컨트롤러로 설정하면됩니다. 클럽의 다른 필드는 모두 Parse 요청에 따라로드되므로 쿼리 할 필요가 없습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

내 node.js 및 mongodb 쿼리에서 객체 배열을 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

문자열에서 특정 텍스트를 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

쿼리 구문 분석, Swift의 tableView 셀 내에서 데이터를 어떻게 인쇄 할 수 있습니까?

분류에서Dev

SimpleChange 객체, currentValue 속성의 정보를 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

요약에 대한 CASE 문이 포함 된이 쿼리를 어떻게 수정할 수 있습니까?

분류에서Dev

Haskell에서 문자열 구문 분석 문제를 어떻게 관리 할 수 있습니까?

분류에서Dev

Javascript에서 AJAX 배열의 특정 부분을 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

이 Json 객체를 Java 객체로 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

이 JSON 정보를 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

클래스 내의 클래스에 대한 클릭 핸들러를 어떻게 구현할 수 있습니까?

분류에서Dev

쿼리에서 분기를 어떻게 정리할 수 있습니까?

분류에서Dev

Android / Java에서 Google의 정보를 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

R에서 객관식 문제를 어떻게 분석 할 수 있습니까?

분류에서Dev

Fluent 쿼리에 대한 제한을 어떻게 설정할 수 있습니까?

분류에서Dev

mongoDB에서 특정 쿼리를 어떻게 입력 할 수 있습니까?

분류에서Dev

각 사용자 지정 분류에 대한 특정 콘텐츠를 어떻게 에코 할 수 있습니까?

분류에서Dev

$ .each를 사용하지 않고 jQuery에서 특정 JSON 데이터를 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

ANTLR에서 특정 하위 수준 규칙에 대해 스트림을 어떻게 구문 분석합니까?

분류에서Dev

Java의 문자열 객체에서 임의의 문자를 어떻게 분리 할 수 있습니까?

분류에서Dev

R의 분산 분석에서 rsquare를 어떻게 구할 수 있습니까?

분류에서Dev

json 객체에서 json 배열을 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

Doctrine 생성 코드에 대한 줄 바꿈 구분 기호를 어떻게 설정할 수 있습니까?

분류에서Dev

javascript for 문에 정의 된 객체를 어떻게 참조 할 수 있습니까?

분류에서Dev

deno에서 쿼리를 구문 분석 할 수 없습니다.

분류에서Dev

SQL 쿼리의 특정 부분에 대한 결과 수를 제한하려면 어떻게해야합니까?

분류에서Dev

속성 이름에 특수 문자가 포함 된 JSON 데이터를 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

값에 특정 문자가 포함될 수있는 ini 파일을 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

값에 특정 문자가 포함될 수있는 ini 파일을 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

텍스트 파일에서 날짜를 어떻게 구문 분석 할 수 있습니까?

Related 관련 기사

  1. 1

    내 node.js 및 mongodb 쿼리에서 객체 배열을 어떻게 구문 분석 할 수 있습니까?

  2. 2

    문자열에서 특정 텍스트를 어떻게 구문 분석 할 수 있습니까?

  3. 3

    쿼리 구문 분석, Swift의 tableView 셀 내에서 데이터를 어떻게 인쇄 할 수 있습니까?

  4. 4

    SimpleChange 객체, currentValue 속성의 정보를 어떻게 구문 분석 할 수 있습니까?

  5. 5

    요약에 대한 CASE 문이 포함 된이 쿼리를 어떻게 수정할 수 있습니까?

  6. 6

    Haskell에서 문자열 구문 분석 문제를 어떻게 관리 할 수 있습니까?

  7. 7

    Javascript에서 AJAX 배열의 특정 부분을 어떻게 구문 분석 할 수 있습니까?

  8. 8

    이 Json 객체를 Java 객체로 어떻게 구문 분석 할 수 있습니까?

  9. 9

    이 JSON 정보를 어떻게 구문 분석 할 수 있습니까?

  10. 10

    클래스 내의 클래스에 대한 클릭 핸들러를 어떻게 구현할 수 있습니까?

  11. 11

    쿼리에서 분기를 어떻게 정리할 수 있습니까?

  12. 12

    Android / Java에서 Google의 정보를 어떻게 구문 분석 할 수 있습니까?

  13. 13

    R에서 객관식 문제를 어떻게 분석 할 수 있습니까?

  14. 14

    Fluent 쿼리에 대한 제한을 어떻게 설정할 수 있습니까?

  15. 15

    mongoDB에서 특정 쿼리를 어떻게 입력 할 수 있습니까?

  16. 16

    각 사용자 지정 분류에 대한 특정 콘텐츠를 어떻게 에코 할 수 있습니까?

  17. 17

    $ .each를 사용하지 않고 jQuery에서 특정 JSON 데이터를 어떻게 구문 분석 할 수 있습니까?

  18. 18

    ANTLR에서 특정 하위 수준 규칙에 대해 스트림을 어떻게 구문 분석합니까?

  19. 19

    Java의 문자열 객체에서 임의의 문자를 어떻게 분리 할 수 있습니까?

  20. 20

    R의 분산 분석에서 rsquare를 어떻게 구할 수 있습니까?

  21. 21

    json 객체에서 json 배열을 어떻게 구문 분석 할 수 있습니까?

  22. 22

    Doctrine 생성 코드에 대한 줄 바꿈 구분 기호를 어떻게 설정할 수 있습니까?

  23. 23

    javascript for 문에 정의 된 객체를 어떻게 참조 할 수 있습니까?

  24. 24

    deno에서 쿼리를 구문 분석 할 수 없습니다.

  25. 25

    SQL 쿼리의 특정 부분에 대한 결과 수를 제한하려면 어떻게해야합니까?

  26. 26

    속성 이름에 특수 문자가 포함 된 JSON 데이터를 어떻게 구문 분석 할 수 있습니까?

  27. 27

    값에 특정 문자가 포함될 수있는 ini 파일을 어떻게 구문 분석 할 수 있습니까?

  28. 28

    값에 특정 문자가 포함될 수있는 ini 파일을 어떻게 구문 분석 할 수 있습니까?

  29. 29

    텍스트 파일에서 날짜를 어떻게 구문 분석 할 수 있습니까?

뜨겁다태그

보관