我知道我不能在Class方法中傳遞實例變量,所以我不再困惑這兩者之間的區別。在類方法之間匹配2個NSString值
因此我有點卡住了。
我有2類方法,它們都可以採用NSString
作爲參數。
有反正他們可以匹配嗎? 因爲一個類方法,這將是一個需要在Safari按下一個按鈕後打開,因此@selector(openBrowser:)
需要知道的網址是什麼,從JWKObjectView01
請告訴我有一種方法,以一個URL字符串做這個??
我已經嘗試過了所有更改爲實例方法,但應用程序崩潰,當我按下按鈕 - 所以我想先工作了這一點:-)
感謝。 PS我知道我開始說我明白你不能混合2班 - 據我所知,但也許我錯過了什麼?
//添加代碼:
UIView類 .h文件中
@interface JWKObjectView01 : UIView <UIWebViewDelegate>
{
NSString *string;
NSURL *url;
NSUserDefaults *defaults;
}
+ (JWKObjectView01 *)anyView:(UIView *)anyView
title:(NSString *)title
weburl:(NSString *)webstring;
+ (void)openBrowser:(NSString *)urlString;
.m文件
+ (JWKObjectView01 *)anyView:(UIView *)anyView
title:(NSString *)title
weburl:(NSString *)webString
{
JWKObjectView01 *anotherView = [[JWKObjectView01 alloc] initWithFrame:CGRectMake(0,0,320,200)];
anotherView.backgroundColor = [UIColor yellowColor];
[anyView addSubview:anotherView];
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(20, 20, 100, 100);
[button setTitle:title forState:UIControlStateNormal];
[button addTarget:self action:@selector(openBrowser:) forControlEvents:UIControlEventTouchUpInside];
[anotherView addSubview:button];
return anotherView;
}
+ (void)openBrowser:(NSString *)urlString;
{
//This is where I am stuck and I need the variable - weburl:(NSString *)webString -
NSURL *url = [NSURL URLWithString:urlString];
[[UIApplication sharedApplication] openURL:url];
}
.m文件視圖控制器
-(void)viewDidLoad
{
[JWKObjectView01 anyView:self.view title:@"OPEN" weburl:@"http://google.com"];
}
請發佈您嘗試過的東西。 –
「一個Class方法有一個字符串,這個字符串在按下按鈕後需要在Safari中打開」 - 如果沒有代碼示例,這部分內容很難理解:關於類變量「有」字符串聲音可疑的,因爲類方法可以保持狀態的唯一方法是通過其他類中的靜態變量和單例。我懷疑這個問題在那個地區的某個地方。請張貼課程方法'A'的相關代碼。 – dasblinkenlight
好吧 - 我已經添加了代碼,希望它有幫助。 –