2011-08-23 11 views
7

मैं अपने विधि में से एक के रूप में परिभाषित एक पूर्णांक मूल्य की जाँच करने के लिए:आईओएस: कैसे एक "पूर्णांक" मूल्य के बराबर है, तो करने के लिए "शून्य"

पूर्णांक मूल्य = [आत्म someMethodThatGetsAnINT];

बाद में मेरे पास कुछ "ifs" हैं जो इस मान को जांचते हैं।

मैं कैसे व्यक्त करूं: यदि (मूल्य == शून्य)?

जब मैं इस सहज ज्ञान युक्त कोड लेखन कर कोशिश मैं कह रहा यह चेतावनी मिलती:

सिमेंटिक मुद्दा: सूचक और पूर्णांक ('int' और 'शून्य *') के बीच तुलना

उत्तर

14

nil सिर्फ एक है 0 :) इस प्रयास करें:

if (0 == value) 

हालांकि, तुम क्यों एक पूर्णांक के खिलाफ nil परीक्षण किया जाएगा - कुछ मजेदार यहाँ लगता है :)

0

आप शायद if (value == (int)nil) का उपयोग कर सकते हैं, लेकिन वास्तव में एक फ़ंक्शन जो int को लौटाता है उसे शून्य नहीं लौटाया जाना चाहिए क्योंकि शून्य पूर्णांक नहीं है (हालांकि इसे समान रूप से प्रदर्शित किया जा सकता है)।

this स्पष्ट मदद मिल सकती है इसे एक छोटे से

4

तुम सच में एक शून्य मान दिया चाहते हैं, तो आप शायद अपने वापसी प्रकार के बजाय पूर्णांक के रूप में NSNumber का उपयोग कर किया जाना चाहिए। एनएसएनंबर एक ऐसी कक्षा है जो उद्देश्य-सी में स्केलर मूल्यों को लपेटती है। जब आप वैध वापसी मूल्य प्राप्त करते हैं, तो आप इसमें पूर्णांक डाल सकते हैं, या जब आप नहीं करते हैं तो शून्य वापस कर सकते हैं।

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