4

私は持っていViewControllerます:

@interface SubmitCampaignViewController:UIViewController<SocialPagesViewControllerDelegate>

そして、次SocialPagesViewControllerUITableViewように:

@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];

ただし、objects は 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ですか?

4

2 に答える 2

4

配列の参照を強力に設定してみてください。 @property (nonatomic, strong) NSArray *pages;

于 2013-03-19T12:39:38.480 に答える
1

に同じ配列が必要なため、pagestoのセッターをお勧めします。@property (nonatomic, copy) NSArray *pages;objectpages

socialViewController を提示する時点で..

socialViewController.pages = [objects copy];
于 2013-03-19T12:56:15.283 に答える