如何通过NSArray更改按钮后面的链接?

时间:2014-02-18 21:12:36

标签: ios objective-c ios7

这是我用来根据我的NSArray中选择的项目动态更改UITextView中的文本的代码。

NSMutableString *flavorsText = [NSMutableString string];
for (NSString* preworkout in self.preWorkout.flavors) {
    [flavorsText appendFormat:@"%@\n", preworkout];
}

self.flavorsTextView.text = flavorsText;

我很好奇如何根据输入到NSArray中的链接更改单个按钮后面的链接。我希望它基本上具有与上面代码相​​同的功能。

2 个答案:

答案 0 :(得分:0)

您需要将URL存储在某处。在您的班级添加一个属性:

@property (nonatomic, strong) NSURL *storeURL;

按钮代码应如下所示:

- (IBAction)buyNow:(id)sender
{
    [someWebView loadRequest:[NSURLRequest requestWithURL:self.storeURL]];
}

当用户更改选择时,请使用新URL更新storeURL属性。

答案 1 :(得分:0)

基本上你有一个数组someArrayOfLinks,其中包含NSString个url字符串,对吗?

因此,如您所知,数组基于索引,因此someArrayOfLinks[9]为您提供数组中的第10项(从0开始)。所有UIView对象及其子类都具有包含整数的标记属性。所以,我要做的是这样的事情:

无论您在哪里设置口味:

self.buyNowButton.tag = someInteger;

然后,当他们点按按钮

- (IBAction)didSelectBuyNowButton:(UIButton *)sender {
    NSString *urlPath = someArrayOfLinks[sender.tag];
    NSURL *url = [NSURL URLWithString:urlPath];
    [[UIApplication sharedApplication] openUrl:url];
}