我有ViewController
:
@interface SubmitCampaignViewController:UIViewController<SocialPagesViewControllerDelegate>
SocialPagesViewController
UITableView
就像这样:
@protocol SocialPagesViewControllerDelegate;
@interface SocialPagesViewController : BaseViewController<UITableViewDataSource, UITableViewDelegate>
@property (nonatomic, weak) id<SocialPagesViewControllerDelegate> delegate;
@property (nonatomic, weak) NSArray *pages;
@end
我想将数据从SubmitCampaignViewController
传递到SocialPagesViewController
。
所以我写的是这样的:
SocialPagesViewController *socialViewController = [storyboard instantiateViewControllerWithIdentifier:@"socialPages"];
socialViewController.delegate = self;
socialViewController.pages = objects;
[self presentViewController:socialViewController animated:NO completion:NULL];
但是,虽然对象不是0,但self.pages.count为0。
SocialPagesViewController.m
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
DLog(@"%d",self.pages.count);
return self.pages.count;
}
如何将NSArray
中的对象SubmitCampaignViewController
传递给SocialPagesViewController
?
答案 0 :(得分:4)
尝试将数组的引用设置为strong。 @property (nonatomic, strong) NSArray *pages;
答案 1 :(得分:1)
我建议将pages
设置为@property (nonatomic, copy) NSArray *pages;
,因为object
需要相同的数组pages
。
在呈现socialViewController ..
时socialViewController.pages = [objects copy];