我在每个视图控制器中都有一个带有广告横幅(内部活动)的应用程序(4个视图),并且在我的应用程序运行2-3-4分钟后我一直收到此错误:
'NSRangeException', reason: '*** -[__NSCFString substringToIndex:]: Range or index out of bounds'
我的应用程序正在崩溃&我无法找到解决方案,但我肯定知道,当我评论广告横幅代码一切正常时,我的广告横幅问题是谨慎的。我可以假设它是在横幅上加载新请求时发生的 这是我用于AD横幅的代码:
.h文件:
@property (nonatomic, retain) UIView *adBanner;
.m文件:
合成了吗?导入我需要的东西,之后:
- (void)viewWillAppear:(BOOL)animated
{
CGRect frame = CGRectMake(0, 430, 320, 50);
self.adBanner = [[UIView alloc] initWithFrame:frame];
[self.view addSubview:self.adBanner];
// Display ad
if (![InneractiveAd DisplayAd:@"iOS_Test" withType:IaAdType_Banner withRoot:adBanner withReload:60 withParams:optionalParams])
{
adBanner.hidden = YES;
}
}
这是我的AppDelegate(不知道为什么,但也许它也适用于那个?):
.h文件:
#import <UIKit/UIKit.h>
@class RootViewController;
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (nonatomic, strong) RootViewController *rootViewController;
@end
.m文件:
#import "AppDelegate.h"
#import "RootViewController.h"
@implementation AppDelegate
@synthesize window = _window;
@synthesize rootViewController;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.rootViewController = [[RootViewController alloc] initWithNibName:nil bundle:NULL];
[self.window addSubview:self.rootViewController.view];
[self.window makeKeyAndVisible];
return YES;
}
我真的不明白它可能是什么以及它与NSCFString有什么关系:\
感谢。
答案 0 :(得分:1)
不确定你是否得到了答案,但是在没有互联网连接的情况下我得到了这行代码。
NSString *value = [serverOutput substringWithRange:NSMakeRange(2, [serverOutput length] - 2 * 2)];
我必须通过检查互联网连接和if if语句来保护它