『iOS小案例』 类型转换失败(use of undeclared identifier)

在iOS开发中遇到一个错误:use of undeclared identifier,错误出现在试图二次转换已转换过的NSObject为NSArray。分析可能是由于转换后的变量丢失或多次转换导致的问题。通过对代码的试验,找到了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

『iOS学习笔记』 类型转换失败(use of undeclared identifier)

下面这句话为何抛错:use of undeclared identifier,

 

-(void)request
{ 
    NSObject *otherBizData = [iLoginViewController callAddBiz];
    NSObject *otherRequestData = [iLoginViewController callAdd];
    
       if([otherRequestData isKindOfClass:[NSArray class]] 
    && [otherBizData isKindOfClass:[NSArray class]] 
    && [(NSArray *)otherRequestData  count] == [(NSArray *)otherBizData  count] )
    {
      NSArray *otherRequestDataArray = (NSArray *)otherRequestData;
      NSArray *otherBizDataArray = (NSArray *)otherBizData; 
}
}

 

肉眼分析疑似问题语句是:[(NSArray *)otherRequestData count] == [(NSArray *)otherBizData count] 

试验如下,问题解决:

疑似分析:这句话已经将NSObject 转了一次NSArray,故第二次再转换时找不到NSObject变量了,于是抛错:使用未定义唯一标识的对象。

问题:到底是转了一次后otherRequestData没有了?还是转两次导致里面有2个otherRequestData无法识别?

 

欢迎高手拍砖~

转载于:https://www.cnblogs.com/ClarkChan/archive/2012/06/07/2540885.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值