2011-09-26 101 views
0

我只是想知道,如何從一個類傳遞字符串值到另一個..如何從一個類傳遞字符串值,另一個

其實我有兩個classes.In一流取我從字符串值該數組,我只是想使用這個字符串值到我的第二個類。現在我不知道如何在這兩個類之間傳遞值。請給我一些想法做到這一點。我應該使用一些類方法來傳遞值但我不知道如何使用這個類方法。我如何創建類方法來設置一個類的值,然後從類方法中獲取相同的值。

感謝您的幫助

回答

0

Class1.h:

@interface Class1 : NSObject 
{ 
    NSArray *arr; 
} 

- (NSString *)myString; 

@end 

Class1.m:

@implementation Class1 

- (NSString *)myString 
{ 
    return [arr objectAtIndex:0]; 
} 

@end 

Class2.h:

@interface Class2 : NSObject 
{ 
} 

- (void)methodThatUsesStringFromClass1:(Class1 *)c1; 

@end 

Class2.m:

@implementation Class2 

- (void)methodThatUsesStringFromClass1:(Class1 *)c1 
{ 
    NSLog(@"The string from class 1 is %@", [c1 myString]); 
} 

@end 
+0

.... @RavuAlHemio應該使用類方法這樣+(*的NSMutableString )的getString; +(void)setString:(NSMutableString *)str; –

+0

爲什麼使用類方法?你想達到什麼目的? – RavuAlHemio

+0

先生...我做了一個公共變量類,其中我定義了一個類的方法..從我的另一個類我有一個數組。從我的數組我選擇myarr [16]值並將其發送到類method.And從那裏我可以訪問字符串值.....我想我做對了...告訴我先生我的權利或做錯了什麼...? –

0

最簡單的方法是在你想通過你的對象類來定義公共@property,例如,爲的NSString:

// CustomClassA.h 
@interface CustomClassA : NSObject 
{ 
} 
@property (nonatomic, retain) NSString *publicString; 
@end 

// CustomClassA.m 
@implementation CustomClassA 
@synthesize publicString; 
@end 

在您的發件人:

//somewhere defined CustomClassA objectA; 
[objectA setPublicString:@"newValue"]; 

但你應該明白什麼意思是retain,@synthesize等。這也不是你目前的問題。

+0

@Nekto ....我應該像這樣使用類方法+(NSMutableString *)getString; +(void)setString:(NSMutableString *)str; –

+0

@synthesize會自動爲你的'string'創建這樣的方法 – Nekto

0

你可以使用appDelegate.YourStringVaraible = @「存儲你的字符串」;

,然後通過使用appDelegate.YourStringVaraible

0

通過重寫init方法傳遞字符串參數使用該YourStringVaraible在任何類。

Class1.m

@implementation Class1 

Class2 *class2 = [[Class2 alloc] initWithString:myString]; 
... 


@end 

Class2.h

@interface Class2 : NSObject 
{ 
NSString *string2; 
} 
@end 

Class2.m

-(id) initWithString:(NSString*)str { 
    self = [super init];  
    if(self) {  
     string2 = str; 
    }  
    return(self); 
} 
相關問題