यहां एक उदाहरण दिया गया है, लेकिन वे वास्तव में पैराम भेज रहे हैं।मैं MonoTouch.ObjCRuntime का उपयोग करके पैरामीटर कैसे भेजूं। चयनकर्ता और प्रदर्शनकर्ता
this.PerformSelector(new MonoTouch.ObjCRuntime.Selector("_HandleSaveButtonTouchUpInside"),null,0.0f);
[Export("_HandleSaveButtonTouchUpInside")]
void _HandleSaveButtonTouchUpInside()
{
...
}
मैं इस तरह कुछ करने के लिए सक्षम होने के लिए करना चाहते हैं:
this.PerformSelector(new MonoTouch.ObjCRuntime.Selector("_HandleSaveButtonTouchUpInside"),null,0.0f);
[Export("_HandleSaveButtonTouchUpInside")]
void _HandleSaveButtonTouchUpInside(NSURL url, NSData data)
{
...
}
कैसे विधि करने के लिए पैरामीटर भेजने के लिए PerformSelector कॉल मैं बदल सकता हूँ?
पूरी तरह से जवाब mhutch के लिए धन्यवाद। मैं PerformSelector का उपयोग कर रहा हूं जब मुझे मुख्य धागे को मुक्त करने की आवश्यकता होती है ताकि कोको स्क्रीन को फिर से चलाए, और फिर मैं कुछ तर्क को संसाधित करने के लिए वापस आ सकता हूं। अभी मैं एक प्रगति पट्टी के समतुल्य को अद्यतन करने की कोशिश कर रहा हूं जिसे लूप के लिए लिखने के दौरान स्क्रीन पर खींचा गया है। यह देखना चाहता था कि क्या मैं लूप के भीतर एक प्रदर्शन चयनकर्ता डालकर और प्रगति पट्टी की संपत्ति को अद्यतन करके स्क्रीन को ताज़ा कर सकता हूं। –
ऐसा करने का एक और तरीका तर्क/स्ट्रीम के लिए थ्रेड का उपयोग करना होगा, और यूआई को अपडेट करने के लिए थ्रेड से InvokeOnMainThread का उपयोग करना होगा। –
इसने मुझे पुस्तकालय को मैन्युअल रूप से पुनर्निर्मित करने से बचाया क्योंकि मूल डेवलपर ने किसी विशेष संपत्ति को बाध्य नहीं किया था, या स्रोत को छोड़ दिया था, इसलिए धन्यवाद। रुचि रखने वाले किसी भी व्यक्ति के लिए, setColor को कॉल करके आसानी से msgSend_IntPtr_IntPtr विधि का उपयोग करके गुणों को सेट किया जा सकता है: जहां रंग संपत्ति का नाम है। (Arg 0 संपत्ति मूल्य है, Arg 1 = IntPtr.Zero) – Dermot