2011-01-18 15 views
5

मैंने एक्सकोड में एक नया मैक ओएसएक्स एप्लीकेशन बनाया है, इंटरफ़ेस बिल्डर के माध्यम से एक वेब व्यू शामिल किया है और अब मैं प्रोग्रामेटिक रूप से यह बता रहा हूं कि यूआरएल लोड करने के लिए क्या है। यहाँ कितनी दूर मुझे मिल गया है:ओएसएक्स एक्सकोड प्रोजेक्ट में वेबव्यू के यूआरएल को प्रोग्रामेटिक रूप से कैसे सेट करें?

  • प्रोजेक्ट बना
  • Webkit.framework शामिल
  • इंटरफ़ेस बिल्डर में WebView शामिल
फिर

वहाँ से मैंने शामिल किया है मैं क्या सोचता हूँ के लिए आवश्यक है वेबव्यू तक पहुंच प्राप्त करें, जिनमें शामिल हैं:

#import <WebKit/WebKit.h> 
@synthesize webView; 
// etc, I think this is all good 

जहां मैं गिरता हूं इसे वेबव्यू तक पहुंच प्राप्त हो रही है स्वयं और यह बता रहा है कि यूआरएल लोड करने के लिए क्या है। मैं कोशिश कर रहा हूं:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 
    NSString *urlAddress = @"http://www.example.com/"; 
    NSURL *url = [NSURL URLWithString:urlAddress]; 
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 
    [[webView mainFrame] loadRequest:requestObj]; 
} 

लेकिन मुझे लगता है कि मुझे पहले इंटरफेस बिल्डर में कुछ सामान कनेक्ट करना है?

मेरा अंतिम लक्ष्य मैक ओएसएक्स एप्लिकेशन बनाना है जो अनिवार्य रूप से सिर्फ एक व्यू-आधारित एप्लिकेशन (जो आईफोन एसडीके का उपयोग करना आसान है) है। वहां से मैं अपने स्थानीय फ़ोल्डर को अपने स्थानीय .html फ़ाइलों के साथ फ़ोल्डर में शामिल करना चाहता हूं लेकिन पहला कदम वेबव्यू को यह बताने के लिए है कि कौन सा यूआरएल लोड करना है :)

धन्यवाद!

+2

और यह एक्सकोड से कैसे संबंधित है? –

+0

यहां मेरे ट्यूटोरियल पर एक नज़र डालें: [http://vexis.co.uk/blog/2012/08/03/creating-an-xcode-browser-app/](http://vexis.co.uk/ब्लॉग/2012/08/03/बनाने-एक-xcode-ब्राउज़र-एप्लिकेशन /) – Seb123

उत्तर

0

क्या आपने अपनी वेब व्यू प्रॉपर्टी को आईबीओटलेट के रूप में घोषित किया है और इसे इंटरफेस बिल्डर में अपने वेब व्यू से कनेक्ट किया है?

यदि नहीं, तो वेब व्यू सेट नहीं है और आपका कोड चुपचाप कुछ भी करने में असफल हो जाएगा।

3

आपके द्वारा ऊपर लिखा गया कोड सही है, मैंने अभी इसका परीक्षण किया और सफलतापूर्वक एक यूआरएल लोड किया।

मुझे यकीन है कि क्या आप अपने हेडर फाइल में घोषित किया है या नहीं, लेकिन आप कुछ इस तरह होना चाहिए:

//usual #import(s) 
    #import <WebKit/WebKit.h> 

    @interface myAppDelegate : NSObject <NSApplicationDelegate> { 
     WebView *myWebView; 
     //other instance variables 
    } 

    @property (retain, nonatomic) IBOutlet WebView *myWebView; 
    //other properties and methods 
    @end 

@pulazzo कहते हैं, आप भी में परिभाषित नियंत्रण के साथ अपने कोड कनेक्ट करने की आवश्यकता इंटरफ़ेस बिल्डर
ऐसा करने के लिए, इंटरफ़ेस बिल्डर में, आपको अपने एप्लिकेशन प्रतिनिधि वर्ग, राइट-क्लिक (या नियंत्रण-क्लिक) को ढूंढना होगा और दुकानों की सूची में myWebView ढूंढना होगा। अपने वेब दृश्य पर myWebView के समान रेखा पर सर्कल से खींचें। मुझे नहीं लगता कि मेरी व्याख्या बहुत अधिक है, इसलिए आपको एप्पल डेवलपर साइट पर Interface Builder Quick Start Guide पढ़ने में शायद बहुत अधिक भाग्य होगा।

अपने कार्यान्वयन फ़ाइल में, आप अपने नए संपत्ति, myWebView के लिए मनुष्य और सेटर तरीके को लागू करने की जरूरत है। आप (शायद) यह करने के लिए किसी भी अनुकूलन करने की ज़रूरत नहीं है, इसलिए आप बस @synthesize उपयोग कर सकते हैं:

@implementation myAppDelegate 
@synthesize window; 
@synthesize myWebView; 
//your function etc 
@end 
0

हाँ, आप सही कहते हैं! वह इस तरह की घोषणा की:

IBOutlet WebView webView; 

लेकिन यह, @sinthesize साथ आवश्यक कोडिंग की जरूरत नहीं है आप बस अपने appController कार्यान्वयन में एक awakeFromNib विधि का उपयोग कर सकते हैं।

-(void)awakeFromNib{ 
    //etc etc 
} 
संबंधित मुद्दे

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