1

我有一个问题。我在我的应用程序中使用的 RestKit。当我通过网络接收数据时,我将它们保存在对象中,然后使用类的各个字段。在我的例子中,我得到了一篇文章,其中有一个 URL 字段,它在 UIActivity 中用于在社交网络中发送链接。当我按 UIAсtivity 调用处理程序函数时,我得到的 URL 为 NULL。我不明白为什么会这样。

NewsDetailViewController.h

@property (nonatomic,strong) NSString *URL;

新闻DetailViewController.m

@interface NewsDetailViewController() {
   NSString *URL;
}

@synthesize URL;

[[RKObjectManager sharedManager] getObjectsAtPath:route parameters:params
                                          success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
Article *article = [mappingResult.array firstObject];
 self.URL = article.url;
                                          }
                                          failure:^(RKObjectRequestOperation *operation, NSError *error) {
                                              NSLog(@"Error response': %@", error);
                                          }];

-(void)socialSharing:sender {

dispatch_queue_t queue = dispatch_queue_create("openActivityIndicatorQueue", NULL);

dispatch_async(queue, ^{
    NSArray *itemsToShare = @[self.URL];
    UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:itemsToShare applicationActivities:nil];
    if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1) {
        activityVC.excludedActivityTypes = @[UIActivityTypeAirDrop];
    }

    dispatch_async(dispatch_get_main_queue(), ^{
        [self presentViewController:activityVC animated:YES completion:nil];
    });
});
}

初始化按钮

_items = [[self.toolBar items] mutableCopy];
UIBarButtonItem *shareBtn = [[UIBarButtonItem alloc]     initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(socialSharing:)];
[_items addObject:shareBtn];
[self.toolBar setItems:_items animated:YES];

内部函数 socialSharing:sender 我的变量 self.URL 为 NULL。我不明白为什么?

4

0 回答 0