2011-02-28 14 views
36

वहाँ किसी भी पूरा प्रलेखन (इंटरफ़ेस crt_externs.h में मौजूद है) इस कार्य के बारे में है: _NSGetArgc और _NSGetArgv मैं इस कार्य के बारे में सेब वेबसाइट पर किसी भी प्रलेखन नहीं मिल सकता है।तक पहुँचना आदेश पंक्ति तर्क

उत्तर

68

तुम सब करने की जरूरत है कोको में आदेश पंक्ति तर्क मिलता है, तो आप कर सकते हैं:

NSArray *arguments = [[NSProcessInfo processInfo] arguments]; 
+2

धन्यवाद लेकिन यह मुख्य समारोह से ठीक है? कार्यक्रम में कहीं से भी नहीं, जैसे _NSGetArgc और _NSGetArgv कर सकते हैं। – iPadDevloperJr

+1

हां - कहीं से भी (मुझे यकीन नहीं है कि आपको क्या इंप्रेशन दिया गया है कि यह ठीक नहीं हो सकता है?)। – bbum

7

चूंकि उन कार्यों को "_" के साथ उपसर्ग किया गया है, यह आमतौर पर एक संकेत है कि वे निजी हैं, और आपके द्वारा उपयोग किए जाने के लिए नहीं हैं। यदि आपको कमांड लाइन तर्क प्राप्त करने की आवश्यकता है, तो ऐसा करने का एक बेहतर तरीका NSProcessInfo को देखना होगा।

+0

धन्यवाद मैं इस लेख को पढ़ रहा था (http://unixjunkie.blogspot.com/2006/07/access-argc-and-argv-from-anywhere.html) और मैं केवल इस कार्य और उनकी क्षमता के बारे में उत्सुक हूं कहीं से भी कमांड लाइन तर्क का उपयोग करने के लिए। – iPadDevloperJr

+0

@Evariste हां, आप इसे कहीं भी उपयोग कर सकते हैं। एनएसपी प्रोसेस जानकारी वर्तमान प्रक्रिया के बारे में जानकारी देता है। – s73v3r

24

तुम भी Greg Miller या Alex Rozanski द्वारा ब्लॉगपोस्ट में वर्णित के रूप NSUserDefaults का उपयोग कर कमांडलाइन तर्क पहुँच सकते हैं।

आपको मूल रूप से उदाहरण [NSUserDefaults standardUserDefaults] पर कॉल के माध्यम से मिलता है और फिर मानों तक पहुंचने के लिए boolForKey: या stringForKey: जैसे संदेशों का उपयोग करें।

आधिकारिक ऐप्पल दस्तावेज here पाया जा सकता है।

+1

मैंने इस जवाब को तब तक नहीं देखा जब तक मुझे एलेक्स रोज़ांस्की द्वारा पोस्ट नहीं मिला था। क्या वर्णित विधियों में से कोई भी पसंदीदा है? मैं NSUserDefaults का उपयोग करने की ओर झुका रहा हूं क्योंकि इस तरह मुझे तर्कों का विश्लेषण नहीं करना है और यह सुनिश्चित करना है कि मान छोड़ा नहीं गया है। मैं यह सुनिश्चित करना चाहता हूं कि teh NSUserDefaults विधि का उपयोग न करने का कोई कारण नहीं है। – GTAE86

+0

मुझे नहीं पता कि कोई पसंदीदा तरीका है या नहीं। हालांकि, मैं इस विधि का उपयोग यह जांचने के लिए कर रहा हूं कि क्या ऑब्जेक्टफोरकी: 'रिटर्न 'शून्य' का मूल्यांकन करके इसका उपयोग करने से पहले कमांडलाइन विकल्प मौजूद है या नहीं। नमूना कोड यहां पाया जा सकता है: https://github.com/mkroehnert/SaneKit/blob/master/Tools/scantool.m#L79 – MKroehnert

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