2015-06-09 8 views
16

मैं स्विफ्ट के साथ क्षेत्र का उपयोग कर रहा एक प्रश्न के लिए, लेकिन इस त्रुटि मिल रही है:क्षेत्र त्रुटि: अमान्य मूल्य, पूर्णांक उम्मीद और प्राप्त: 0

Terminating app due to uncaught exception 'Invalid value', reason: 'Expected object of type int for property 'id' on object of type 'JournalEntryLine', but received: 0'

JournalEntryLine वर्ग एक संपत्ति है (इंट) id नामित ।

कोड मैं उपयोग कर रहा हूँ:

for item in idSet 
    let idQuery = realm.objects(JournalEntryLine).filter("id = '\(item)' AND type = 'Debit'") 
} 

idSet पूर्णांकों 0 और आगे से युक्त एक सेट है। मैंने पुष्टि की है कि कम से कम [0] इस क्वेरी को चलाने से पहले सेट में हमेशा है।

मुझे यह त्रुटि क्यों मिल रही है?

उत्तर

32

-EDIT-

  • यदि आप का उपयोग करें: id = 'YOUR_VAR_OR VALUE' => मतलब यह है कि आईडी एक स्ट्रिंग है (उदाहरण: आईडी = '4')

  • लेकिन अगर आप का उपयोग करें: id = YOUR_VAR_OR VALUE => मतलब यह है कि आईडी एक पूर्णांक है (उदाहरण: आईडी = 4)

एनबी: तो जब अपनी पहचान एक पूर्णांक का उपयोग नहीं करते उद्धरण 'है: \ (आइटम)'करने के लिए '


इस प्रयास करें

let idQuery = realm.objects(JournalEntryLine).filter("id = \(item) AND type = 'Debit'") 

आईडी = रूपांतरण' id = \ (item) क्योंकि आईडी एक इंटीजर है, यदि आप उद्धरण का उपयोग करते हैं, तो मैं आईडी को स्ट्रिंग के रूप में मानता हूं।

को मत भूलना अगर यह आपकी मदद करता है। :)

+0

यह काम किया! धन्यवाद! – Jared

+0

आपको बहुत बहुत धन्यवाद! :) –

+0

इससे मुझे भी मदद मिली! मुझसे भी धन्यवाद! :) – NerdyTherapist

संबंधित मुद्दे