2011-06-23 11 views
35

में कनवर्ट करें मूल रूप से मैं एनएसआईएनटेगर में एक सरणी का एक अनुक्रमणिका संग्रहीत कर रहा हूं। अब मुझे इसे एनएसआईएंडएक्सपैथ के रूप में चाहिए, मैं अपने एनएसआईएनटेगर को एनएसआईएन्डेक्सपाथ में बदलने के लिए एक रास्ता देखने और खोजने का संघर्ष कर रहा हूं, इसलिए मैं इसका पुन: उपयोग कर सकता हूं।NSInteger को NSIndexpath

+0

क्या आप के लिए 'NSIndexPath' आवश्यकता क्यों है? क्या आपको इसे 'UITableView' के लिए चाहिए? – albertamg

+0

इसका उपयोग एसक्लाइट के लिए अद्यतन कथन को कॉल करते समय किया जाता है। मुझे लगता है कि अब मैं एनएसआईएंडएक्सपैथ में परिवर्तित हूं लेकिन मुझे एनएसआईएनएक्सएक्सपीथ.रो की ज़रूरत है और इससे एक त्रुटि फेंकता है। कोई विचार? – Dan

+0

आप 'indexPathWithIndex:' के साथ बनाए गए इंडेक्स पथ पर ** ** ** 'पंक्ति' को कॉल नहीं कर सकते हैं। इंडेक्स पथ बनाने के लिए आप उस पर 'पंक्ति' कह सकते हैं, आप 'indexPathForRow: inSection:' का उपयोग कर सकते हैं। – albertamg

उत्तर

86

किसी पूर्णांक index के लिए:

NSIndexPath *path = [NSIndexPath indexPathWithIndex:index]; 

प्रति the reference के रूप में करने के लिए बात करने के लिए नोड 0 में आइटम के सूचकांक बनाता है।

एक UITableView में indexPath का उपयोग करने के लिए अधिक उपयुक्त विधि

NSIndexPath *path = [NSIndexPath indexPathForRow:row inSection:section]; 
+0

धन्यवाद। क्या मैं अभी भी पथ कर सकता हूं। क्या मैं अपने ईडर को पार कर रहा हूं? – Dan

3

NSIndexPath कक्षा के नीचे विधियों का उपयोग करें। नीचे के रूप में है और यह भी

+ (id)indexPathWithIndex:(NSUInteger)index; 
+ (id)indexPathWithIndexes:(NSUInteger *)indexes length:(NSUInteger)length; 
- (id)initWithIndex:(NSUInteger)index 

उपयोग उपयोग करने के बाद releasemyIndexPath वस्तु को मत भूलना।

NSIndexPath *myIndexPath = [[NSIndexPath alloc] initWithIndex:[myIntObj intValue]]; 
7

है आप एक UITableView के लिए एक NSIndexPath की जरूरत है, तो आप उपयोग कर सकते हैं indexPathForRow:inSection: (reference)। तालिका दृश्य में पारित इंडेक्स पथ में अनुभाग और पंक्ति निर्दिष्ट करने वाले बिल्कुल दो सूचकांक होना चाहिए। indexPathWithIndex: के साथ बनाए गए इंडेक्स पथ में केवल एक अनुक्रमणिका है और तालिका दृश्य के साथ काम नहीं करेगा।

2

स्विफ्ट 3:

let indexPath = IndexPath(row: 0, section: 0) 
संबंधित मुद्दे