我正在重新分解我的代码以使其更易于管理我想创建一个包含我可以加载到其他类的函数的类。
我创建了一个名为functions的类,将mytions.h导入到我的ViewController类的.h中,将函数.m导入到ViewController.m中,但编译器在调用和崩溃时无法识别方法hasInternetconnection。
我并不完全忘记为什么我不能在这个类中调用这个方法
这是我的代码,我通过s / o和谷歌看了一眼,我仍然看不出我做错了什么
Functions.h
#import <Foundation/Foundation.h>
@interface Functions : NSObject
-(BOOL)hasInternetConection;
@end
Functions.m
#import "Functions.h"
@implementation Functions
-(BOOL)hasInternetConection{
NSURL *url=[NSURL URLWithString:@"www.google.com"];
NSURLRequest *req=[NSMutableURLRequest requestWithURL:url];
NSHTTPURLResponse *res=nil;
[NSURLConnection sendSynchronousRequest:req returningResponse:&res error:NULL];
if (res!=nil) {
return NO;
}else{
return YES;}
}
@end
HomeViewController.h
...
#import <QuartzCore/QuartzCore.h>
#import "multiShotViewController.h"
#import "Functions.h"
...
@interface HomeViewController:UIViewController {
UIGlossyButton *b;
HomeViewController.m
...
#import "detailsViewController.h"
#import "Functions.h"
#define Kwelome @"welcomeread"
@interface HomeViewController ()
@end
@class Functions;
@implementation HomeViewController
@synthesize tripName;
@synthesize databasePath, deathtrail;
@synthesize lampingbtn,deerstalkingbtn,boundarybtn, optionsbtn,shootingbtn;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
self.navigationItem.title = @"Home";
UIColor *backg=[[UIColor alloc]initWithPatternImage:[UIImage imageNamed:@"bgcamo.png"]];
self.view.backgroundColor=backg;
[backg release];
}
return self;
}
...
答案 0 :(得分:1)
我认为@class函数;至少不需要。您正在导入头文件,因此您没有重新声明它。
你在哪里打算这些方法?你确定你在那个班级的实例上打电话给他们吗?
我怀疑你正在尝试做一个问题
[Functions hasInternetConection]
而不是
Functions * func = [[Functions alloc] init];
[func hasInternetConection];
[func release];
如果您在第一个示例中执行此操作,而不是在函数中将声明更改为“+”而不是“ - ”,那么它可以用作静态方法。