gpt4 book ai didi

iphone - 如何传递指针并在函数中得到结果?

转载 作者:太空宇宙 更新时间:2023-11-04 05:31:22 24 4
gpt4 key购买 nike

请看代码如下:

- (BOOL)postAction :( NSString*) url  params:(NSDictionary*) params  bodySize:(NSNumber**)bodySize
{
...
int size = 1999;

NSNumber* value =[[NSNumber alloc] initWithInt:size];


bodySize = &value;


...}

使用函数如下:

NSNumber* size ;  
[self postAction:@"http://webserver/ss.php" params:params bodySize:&size];



// can not got the size value at all…


int i = [size intValue];
//will throw nil exception !

我的问题是如何更正上面的代码?

非常感谢您的帮助!

问候

最佳答案

如果您在 iOS 或 Mac OS X 中使用按引用传递,则您可能做错了。

说真的——通过引用传递是一种极少使用的模式。它几乎完全保留给 (NSError**) 跨 API。

并不是说没有理由使用引用传递,但事实并非如此。

具体来说,如果你需要返回一个NSNumber,那就返回吧!

- (NSNumber *) foo;

如果该方法返回 nil,则与返回 BOOL NO 一样好。它让你遵循使用 NSError 的非常常见的模式:

- (NSNumber *) foo: (NSError **) error;

关于iphone - 如何传递指针并在函数中得到结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4481872/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com