【发布时间】:2013-03-07 19:09:39
【问题描述】:
我正在尝试将一个 int 从一个 VC 传递给另一个。我就是这样做的。
在我的 VC1 中,当我调用 prepareForSegue 方法时,我正在执行 segueshowDetail。看起来像这样。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSIndexPath *indexPath = (NSIndexPath *)sender;
News *news = [arrNews objectAtIndex:indexPath.row];
NSLog(@"news id is %@",news.new_id);
if ([segue.identifier isEqualToString:@"showDetail"]) {
[segue.destinationViewController setNewsId:(int)news.new_id];
}
}
在日志中,我得到了正确的数字。现在在我的 VC2 中,我声明了一个这样的 int。
@property (nonatomic) int newsId;
我的 setMethod 看起来像这样。
-(void)setNewsId:(int)newsId{
NSLog(@"news id is %d",newsId);
self.newsId = newsId;
}
当我执行时,我进入了一个包含所有大数字的循环。有人可以帮我解决这个问题吗?
【问题讨论】:
-
news.new_id 的类型是什么?为什么需要在 -setNewsId: 调用中将其转换为 int?
标签: iphone ios objective-c storyboard segue