2017-02-20 10 views
0

테이블에있는 쿼리를 작성하려고 시도하면 배열에 저장된 objectId에 대한 결과 만 반환됩니다.포함 된 쿼리 구문 분석 결과가 반환되지 않습니다.

백엔드에 내 배열 열 :

let currentUser = PFUser.current() 
let allSelectedPacksArray: NSMutableArray = currentUser?["allSelectedPacks"] as! NSMutableArray 
print(allSelectedPacksArray) 

앤디 쿼리 :

theres no objects to be had 

인쇄 (allSelectedPacksArray)는 다음을 반환

let query = PFQuery(className: "Pack") 
query.order(byAscending: "packName") 
query.whereKey("objectId", containedIn: [allSelectedPacksArray]) 
query.fromLocalDatastore() 

if error != nil || objects?.isEmpty == true { 
print("theres no objects to be had") 
} else if let items = objects { 

객체는 빈 및 콘솔 인쇄입니다 :

(
    tW4qPPdKSp, 
    HnwTkSwcZc, 
    zbhe0Kt59Z 
) 

그래서 열은 데이터를 포함하고 내가 containedIn 라인의 모든 작품을 잘 제거 할 때 그것은

getTable이있다. 내가 여기서 뭘 잘못하고 있는지 모르겠다. 많이 NSMutable 배열을 사용하지 않은하지만 그 배열을 설정해야 할 것으로 보인다.

난 그것뿐만 NSMutable 배열과 같은 캐스팅하지 않는 경우 :

let currentUser = PFUser.current() 
let allSelectedPacksArray = currentUser?["allSelectedPacks"] 
print(allSelectedPacksArray) 

콘솔 인쇄 : 안내

Optional(<__NSArrayM 0x60800005a9d0>(
tW4qPPdKSp, 
HnwTkSwcZc, 
zbhe0Kt59Z 
) 
) 

감사합니다.

답변

0

문제는 배열의 주위에 대괄호를 사용했다.

[allSelectedPacksArray]에서 []을 제거하고 allSelectedPacksArray와 모든 기능 만 있으면됩니다.

코드에서 대괄호를 묻는 메시지가 표시되므로 이상합니다. 그러나 그것은 효과적이다.

0

이것은 콘솔에 명시된 바와 같이 선택 사항이며 이것은 진술의 ? 부분에 있기 때문입니다. 이 값을 !으로 변경하면 예상되는 결과가 표시됩니다.

let allSelectedPacksArray = currentUser?["allSelectedPacks"] 

는이되어야 : 여기

let allSelectedPacksArray = currentUser!["allSelectedPacks"] 
+0

Nah 동일한 결과가 없습니다. – WanderingScouse