का उपयोग कर आप यह कर सकते हैं मेनू में जोड़ सकते हैं नीचे स्क्रीनशॉट पर की तरह? हां और नहीं (यदि आप लगातार पर्याप्त हैं तो आप कुछ भी कर सकते हैं)। हां आप कर सकते हैं, लेकिन नहीं होना चाहिए। भले ही, यह आपके बीच अविश्वसनीय रूप से लगातार के लिए किया जा सकता है। चूंकि एक उदाहरण को कोड करने में थोड़ी देर लग जाएगी, मुझे नेट पर एक उदार आत्मा मिली है जो पहले से ही कर चुका है। पूर्ण कोड और स्पष्टीकरण के लिए at this repository on GitHub देखें। यहाँ कुछ के टुकड़े कर रहे हैं:
cmacs_simple_msgSend((id)objc_getClass("NSApplication"), sel_getUid("sharedApplication"));
if (NSApp == NULL) {
fprintf(stderr,"Failed to initialized NSApplication... terminating...\n");
return;
}
id appDelObj = cmacs_simple_msgSend((id)objc_getClass("AppDelegate"), sel_getUid("alloc"));
appDelObj = cmacs_simple_msgSend(appDelObj, sel_getUid("init"));
cmacs_void_msgSend1(NSApp, sel_getUid("setDelegate:"), appDelObj);
cmacs_void_msgSend(NSApp, sel_getUid("run"));
आप ध्यान देंगे के रूप में, इस कोड को ऑब्जेक्टिव-सी क्रम API का उपयोग करता एक छद्म AppDelegate बनाने के लिए। और खिड़की बनाना एक प्रक्रिया है:
self->window = cmacs_simple_msgSend((id)objc_getClass("NSWindow"), sel_getUid("alloc"));
/// Create an instance of the window.
self->window = cmacs_window_init_msgSend(self->window, sel_getUid("initWithContentRect:styleMask:backing:defer:"), (CMRect){0,0,1024,460}, (NSTitledWindowMask | NSClosableWindowMask | NSResizableWindowMask | NSMiniaturizableWindowMask), 0, false);
/// Create an instance of our view class.
///
/// Relies on the view having declared a constructor that allocates a class pair for it.
id view = cmacs_rect_msgSend1(cmacs_simple_msgSend((id)objc_getClass("View"), sel_getUid("alloc")), sel_getUid("initWithFrame:"), (CMRect){ 0, 0, 320, 480 });
// here we simply add the view to the window.
cmacs_void_msgSend1(self->window, sel_getUid("setContentView:"), view);
cmacs_simple_msgSend(self->window, sel_getUid("becomeFirstResponder"));
// Shows our window in the bottom-left hand corner of the screen.
cmacs_void_msgSend1(self->window, sel_getUid("makeKeyAndOrderFront:"), self);
return YES;
तो, हाँ। आप शुद्ध सी में कोको ऐप लिख सकते हैं लेकिन मैं इसकी अनुशंसा नहीं करता। उस कोड का 9 0% एक xib फ़ाइल द्वारा प्रतिस्थापित किया जा सकता है, और इसे इस तरह से करने से वास्तव में आपके ऐप को प्रतिबंधित कर दिया जाता है क्योंकि ऐप्पल विकास की अधिक उन्नत विशेषताएं वास्तव में उद्देश्य-सी सुविधाओं पर खड़ी होती हैं। हालांकि यह सबकुछ इस तरह से करने के लिए तकनीकी रूप से संभव है, लेकिन आप इसे जितना कठिन होना चाहिए उतना कठिन बना रहे हैं।
Xcode ओएस एक्स के लिए एक कोको अनुप्रयोग लिखने के लिए एक आवश्यकता नहीं है, लेकिन यह कठिनाई कम कर देता है * काफी *। जब तक आप एक एक्स-विंडो एप्लिकेशन लिखने और अपने प्रतिपादन के लिए क्वार्ट्ज या किसी अन्य विंडो मैनेजर पर भरोसा करने की योजना बना रहे हैं, तो शुद्ध-सी बहुत कुछ नहीं होने वाला है। [उद्देश्य-सी के साथ न्यूनतमतम कोको] (http://www.cocoawithlove.com/2010/09/minimalist-cocoa-programming.html), फिर सी में अपने मूल तर्क को दफनाने योग्य है, लेकिन अंततः आप इसे अधिकतर पा सकते हैं अंत में फ्लैट-आउट उद्देश्य-सी का उपयोग करना आसान है। – WhozCraig
संभावित डुप्लिकेट [सीओ में पूरी तरह से आईओएस ऐप कैसे लिखें] (http://stackoverflow.com/questions/10289890/how-to-write-ios-app-purely-in-c) – SevenBits
आप क्या दिखाना चाहते हैं खिड़की में? स्टेटिक टेक्स्ट, संपादन योग्य पाठ, यूआई नियंत्रण, 3 डी ग्राफिक्स ...? – JWWalker