में एक NSNumber तुलना करने के लिए कैसे कैसे करें:एक अगर
if (myNSNumber == 1)
{
...
}
यह निर्माण करने के लिए प्रतीत नहीं होता
वस्तु:
में एक NSNumber तुलना करने के लिए कैसे कैसे करें:एक अगर
if (myNSNumber == 1)
{
...
}
यह निर्माण करने के लिए प्रतीत नहीं होता
वस्तु:
तो myNSNUmberNSNumber
है, अपने कोड को पढ़ना चाहिए,
if ([myNSNumber intValue] == 1) {
...
}
हैं यह NSInteger
है, आप इसकी तुलना सीधे एक पूर्णांक शाब्दिक से कर सकते हैं। क्योंकि NSInteger
एक प्रारंभिक डेटा प्रकार है।
if (myNSNumber == 1) {
...
}
नोट: करें कि आप अपने घोषणा में *
न करना पड़े। आपका NSInteger
घोषणाओं, पढ़ना चाहिए
NSInteger myNSNUmber; // RIGHT
NSInteger *myNSNUmber; // WRONG, NSInteger is not a struct, but it is a primitive data type.
निम्नलिखित @ BoltClock का जवाब है, जिसमें उन्होंने हाल ही में पोस्ट here
आप (जो है एक NSInteger के लिए सूचक का उपयोग करने की आवश्यकता है लेकिन अगर पर आधारित है, NSInteger *) किसी कारण से, तो आप संकेतक भिन्नता की जरूरत मूल्य प्राप्त करने के:
if (*myNSNUmber == 11) {
}
NSNumber एक संरचना है, तो आप इसकी तुलना एक पूर्णांक से नहीं कर सकते हैं। साइमन ने जो पोस्ट किया है वह सही है। –
intValue काम नहीं करता है - मुझे अवैध रिसीवर त्रुटि मिलती है – TheLearner
'myNSNumber' एनएसआईएनटेगर या' एनएसएनंबर' है? यदि यह 'एनएसआईएनटेगर 'है तो सुनिश्चित करें कि आपके पास घोषणा में' * 'नहीं है। – EmptyStack
NSInteger सामान्य रूप से तो अपने कोड चाहिए एक सादे पूर्णांक प्रकार है बढ़िया कार्य करना।
अगर myNSNumber एक NSNumber ऑब्जेक्ट (चर नाम का सुझाव के रूप में) तो आप अपने पूर्णांक मान प्राप्त करना चाहिए:
if ([myNSNumber intValue] == 1)
{
...
}
शीर्षक सही प्रतीत नहीं होता है। एक एनएसआईएनटेगर परीक्षण संकलित होगा, मुझे लगता है कि आपका मतलब NSNumber है। – jv42
ठीक है आप मेरी apoligies – TheLearner