当前位置 : 主页 > 手机开发 > ios >

ios – 双指针在Objective-C中意味着什么?

来源:互联网 收集:自由互联 发布时间:2021-06-11
参见英文答案 What does having two asterisk ** in Objective-C mean?5个 我在Java经验5年后开始学习Objective-C,并且不了解它的一些构造.这个Some_Object **是什么意思?例如,在此处的方法定义中: - (NSS
参见英文答案 > What does having two asterisk ** in Objective-C mean?                                    5个
我在Java经验5年后开始学习Objective-C,并且不了解它的一些构造.这个Some_Object **是什么意思?例如,在此处的方法定义中:

- (NSString *)checkLastUpdate:(NSUInteger)loggedId   
 returnMsgs:(NSMutableArray **)returnMsgs
 {
       ....
if (returnMsgs) 
 {
*returnMsgs = NewMsgs;
}
     }

它是指针指针还是什么?这是什么原因使用它?

它是 Pointer到指针类型,与C语言相同.

除了错误回调之外,我认为这不是一个好的行为.
例如,我们调用一个函数,并在函数失败时需要错误信息:

- (id)handleData:(NSData *)inData error:(NSError **)outError;
{
if (inData == NULL || [inData length] == 0)
    {
    if (outError)
        *outError = [NSError errorWithDomain:kDataErrorDomain code:-1 userInfo:NULL];

我们可以这样打电话:

NSError *error = NULL;
[self handleData:data error:&error];

if (error) {
    // Handle error
网友评论