【发布时间】:2019-04-21 16:04:49
【问题描述】:
我在“class.h”中声明了 NSString 类型的类变量:
@interface class : NSObject<GADInterstitialDelegate,
GADBannerViewDelegate, GADRewardBasedVideoAdDelegate,
GADNativeAppInstallAdLoaderDelegate, GADNativeContentAdLoaderDelegate>
{
...
NSString* appId;
}
我的“class.mm”文件在函数“a”中我正在为变量赋值:
appId = [[dic objectForKey:@"appid"] stringValue]
此时的字符串值是正确的。
问题发生在其他函数调用 - 函数“b”时。
[GoogleMobileAdsMediationTestSuite presentWithAppID:appId onViewController:rootViewController delegate:nil];
当我尝试使用这个 appId - 它不包含分配的,相反我假设它包含一个内存地址。
如何在以后的所有引用中保留appId 的值?
【问题讨论】:
-
你能添加一些额外的代码
-
检查此代码告诉我没有问题。搜索
appId并检查它的值是否在其他地方更新,还显示代码是否显示为 appId 的值。 -
appId 是成员变量吗?如果是,您是否在同一个对象上调用函数 a 和 b?
-
@rptwsthi 是不是在清除 dic(字典)时清除了 app id 值?那么当 net 函数调用并且 dic 不再有效时 appId 值指向未填充的地址?
-
请显示完整的定义。那个“类变量”是如何声明的?
标签: ios objective-c nsstring