[英]Return 1 in objective-c
通常,在Objective-C中返回0是正常的,但是当我编写这样的代码时这意味着什么呢?
if(written){
NSLog(@"write failed: %@", [error localizedDescription]);
return 1;
};
返回1是什么意思? 这是整个代码// //在此处插入代码... NSLog(@“ Hello,World!”);
NSURL *url = [NSURL URLWithString:@"http://www.google.com/images/logos/ps_logo2.png"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSError *error = nil;
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:NULL error:&error];
if(!data){
NSLog(@"fetch failed:%@", [error localizedDescription]);
return 1;
}
NSLog(@"The file is %lu bytes", (unsigned long)[data length]);
BOOL written = [data writeToFile:@"/tmp/google.png" options:0 error:&error];
if(written){
NSLog(@"write failed: %@", [error localizedDescription]);
return 1;
}
NSLog(@"Success");
}
return 0;
}
在这种情况下,它没有任何意义……它意味着您的意思。 在许多库调用中,失败将是-1或0,其他调用0是成功,而非零是错误...但是没有上下文,您的问题就无法回答。
在您的情况下,您在数据对象上调用方法writeToFile:options:error:如果成功,则此方法返回YES,否则返回NO。 以下几行:
if(written){
NSLog(@"write failed: %@", [error localizedDescription]);
return 1;
}
似乎是为了返回错误。 意思是,如果您的方法成功,它将返回1,否则它将返回0。因此,我建议将写入更改为!
if(!written){
NSLog(@"write failed: %@", [error localizedDescription]);
return 1;
}
然后写入NO,因为writeToFile方法失败,您将获得一个返回值1,并带有一条Log消息,该消息告诉您[error localizedDescription]给出的错误描述
这很有用,因为您可以确定写入是否成功。 根据每次返回特定错误代码所产生的错误,您还可能具有多个不同的return值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.