让我们考虑一下代码
one.h
#import "historyViewController.h"
int isItfsa;
one.m
-(IBAction)homeHistory:(id)sender{
isItfsa = 0;
historyViewController *hisVController = [[historyViewController alloc]initWithNibName:@"historyViewController" bundle:nil];
[self presentModalViewController:hisVController animated:YES];
[hisVController release];
}
但是当我收到它时不打印// 0
但是在二等二.m
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
NSLog(@"isItfsa=%@",isItfsa); //isItfsa=null
}
它打印为null,但为什么?以及如何通过方法将值从一个类传递到另一个类。
答案 0 :(得分:2)
isItfsa由您的代码定义为int,它不是对象。您的NSLog已格式化为使用%@
打印对象。如果int值为零,则尝试将其作为对象打印将产生(null)。
您的打印声明应为NSLog(@"isItfsa=%d",isItfsa);
答案 1 :(得分:1)
Null与零相同。它写“null”因为你没有告诉它写一个整数,你告诉它写一个对象。
您的代码:
NSLog(@"isItfsa=%@",isItfsa)
(将isItfsa
写为对象)
应该是:
NSLog(@"isItfsa=%i",isItfsa)
(将isItfsa
写为整数)