2014-04-19 39 views
0

問候我需要初始化的alloc一個類的一個實例,並讓它通過任何方法初始化和分配一個類,它是可見的所有方法

實施例訪問用於使用「無論*吊杆= [Wathever的alloc] INIT] ;」

@interface something : NSObject; 

@implementation 

-(void) method1{ 

boom.size = 10; 

} 

-(void) method2{ 
boom.color = blue; 
} 

我將在哪裏分配和初始繁榮,以便我可以在每種方法中操縱它?

回答

1

例如whatever.h和whatever.m調用類的方法必須在whatever.h

-(void) method1; 
-(void) method2; 

聲明和使用

Whatever *boom = [Wathever alloc]init]; 
[boom method1]; 
[boom method2]; 
0

見當你創建一個類在這種初始化這個類的過程中,一個常用的方法將永遠在那裏,它稱之爲它自己的類:

類似這樣的:

-(id)init 
{ 
    self = [super init]; 
    if (self) 
    { 
    } 
    return self; 
} 

可以在.h文件中聲明實例如下:

Whatever *boom; 

比你可以初始化方法測得實例如下:

-(id)init 
{ 
    self = [super init]; 
    if (self) 
    { 
     boom = [Wathever alloc]init]; 
    } 
    return self; 
} 

希望這會幫助你。

1

在單個課堂上?讓它成爲這個類的一個屬性。

//.h 
@property Whatever *boom; 

//.m 
- (id)init { 
    self = [super init]; 
    if (self) { 
     _boom = [[Whatever alloc] init]; 
    } 
    return self; 
} 

整個應用程序?在某個地方創建一個實例,如您的應用程序委託,然後將其傳遞給根視圖控制器,然後將其傳遞給每個視圖控制器。

// AppDelegate .m 
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    // app setup code 

    Whatever *boom = [[Whatever alloc] init]; 
    FirstViewController vc = self.window.rootViewController; 
    vc.boom = boom; 
} 

// FirstViewController.h, NextViewController.h, etc. 
@property Whatever *boom; 

// FirstViewController.m 
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 
    NextViewController *nextVC = sender.destinationViewController; 
    nextVC.boom = self.boom; 
} 

你也可以去辛格爾頓路線,但你是緊耦合的類應用範圍的單個實例。

相關問題