English 中文(简体)
B. 操纵手段和肥胖方法
原标题:string manipulation and methods in obj-c

I am very new to obj-c (about 1 day) and i have read the documentation on how to call methods and how to modify strings and i have used similar code in another program and it worked fine. I m programming a simple web browser for the iphone to teach myself about WebViewController library. When i compile this it gives me the warning " WebViewController may not respond to -parseURl:" at line 17 in the .m file and when i run it i throws the error "NSInvalidArgumentException" in the console.

《网页浏览器守则》:

#import <UIKit/UIKit.h>


@interface WebViewController : UIViewController {

    IBOutlet UIWebView *webView;
    IBOutlet UITextField *textField;
}

NSString *urlAddress;
NSURL *url;
NSURLRequest *requestObj;

- (IBAction)gotoAddress:(id)sender;
- (NSString*) parseURL:(NSString*)str;

@property (nonatomic, retain) UIWebView *webView;

@end

网页记录

#import "WebViewController.h"


@implementation WebViewController

@synthesize webView;

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
        // Initialization code
    }
    return self;
}

- (IBAction)gotoAddress:(id)sender {
    urlAddress = textField.text;
    urlAddress = [self parseURl:urlAddress];
    url = [NSURL URLWithString:urlAddress];
    requestObj = [NSURLRequest requestWithURL:url];
    [webView loadRequest:requestObj];
    NSLog(@"urlAddress= %s", [urlAddress cStringUsingEncoding:1]);
}


- (NSString*) parseURL:(NSString*)str {
    NSLog(@"made it");
    NSString *httpPart = @"http://";
    if ([str rangeOfString:httpPart].location == NSNotFound) {
        NSString *correctURL = [NSString stringWithFormat:@"%@%@", httpPart, str];
        return correctURL;
    }
    else {
        return str;
    }
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}


- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning]; // Releases the view if it doesn t have a superview
    // Release anything that s not essential, such as cached data
}


- (void)dealloc {
    [webView release];
    [super dealloc];
}


@end

Thanks for the help

最佳回答

Objective-C (and most other languages) is case-sensitive. "URL" and "URl" are different.

urlAddress = [self parseURl:urlAddress];

should be

urlAddress = [self parseURL:urlAddress];
问题回答

暂无回答




相关问题
Asynchronous request to the server from background thread

I ve got the problem when I tried to do asynchronous requests to server from background thread. I ve never got results of those requests. Simple example which shows the problem: @protocol ...

objective-c: Calling a void function from another controller

i have a void, like -(void) doSomething in a specific controller. i can call it in this controller via [self doSomething], but i don t know how to call this void from another .m file. I want to call ...

ABPersonViewController Usage for displaying contact

Created a View based Project and added a contact to the AddressBook using ABAddressBookRef,ABRecordRef now i wanted to display the added contact ABPersonViewController is the method but how to use in ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

NSUndoManager and runModalForWindow:

I have a simple Core Data app which displays a list of entities in the main window. To create or add new entities, I use a second modal window with a separate managed object context so changes can be ...

NSMutableArray values becoming "invalid"

I m trying to show a database information in a tableview and then the detailed information in a view my problem is as follow: I created a NSMutableArray: NSMutableArray *myArray = [[NSMutableArray ...

iPhone numberpad with decimal point

I am writing an iPhone application which requires the user to enter several values that may contain a decimal point (currency values, percentages etc.). The number of decimal places in the values ...

热门标签