当我的应用程序启动时,我需要将一些剩余数据发送到服务器,所以
applicationDidFinishLaunching
Run Code Online (Sandbox Code Playgroud)
我调用一个方法将一些Core Data实体转换为JSON文本并将其发送到服务器.有时应用程序崩溃是因为:
xxxxxx无法及时发布
我的第一个想法是,我在应用程序启动时正在做某事,这会阻塞主线程,然后我意识到这可能不是问题,因为我使用NSURLConnection发送异步数据,不应该阻塞主线程,经过一些测试,我发现当数据很大时,应用程序更容易崩溃,因为连接是异步的,唯一可疑的代码是当我从Core Data实体创建JSON文本时,我使用NSLog打印它,我试图使用硬编码的大json文件,它总是崩溃,如果我注释掉NSLog线,它不会崩溃.
根据情景,我想知道:
NSLogv的输出是序列化的,因为进程中只有一个线程可以一次执行上述写入/记录.在下一个线程开始尝试之前,所有写入/记录消息的尝试都已完成.
它是否意味着即使它在非主线程中,但它记录了一些长字符串,这导致主线程被阻塞?
非常感谢!
有没有办法跟踪应用程序在后台的时间量,并在应用程序进入iOS前台时显示相同的内容?
我觉得我应该知道这一点,但我没有,而且总是让我困惑.
浏览示例代码和教程时,我有时会看到AppDelegates有一个
@property UIWindow* window,
然后是@synthesized后续跟进
[window setRootViewController:controllerToBeSet]
[window makeKeyAndVisible]
其他应用程序在代理中的任何位置都不会有一行代码.
据我所知,故事板中的友好箭头表示根视图控制器.那么打包的AppDelegates只是针对基于nib的项目吗?
我需要澄清使用didFinishLaunchingWithOptions委托方法的规范以及最初设置视图的方式.
我正在尝试访问AppDelegate.m中的视图.我self.window.rootViewController用来获取对活动ViewController的引用,但是当我创建模态视图时,presentViewController我无法访问新呈现的视图.如何从AppDelegate.m获取对模态视图的引用?
我正在使用UIlocalnotifications,所以每当弹出一个通知,并且用户点击它时,我打开ViewController,所以每当我的应用程序处于后台时,当弹出通知,当用户点击它或应用程序图标时,我能够显示ViewController.
但是每当用户从后台杀死应用程序时,当通知发生时,如果他点击通知,我就能够显示ViewController,但是如果我点击应用程序图标,我就无法显示ViewController
以下是我的代码
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UILocalNotification *locationNotification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
if (locationNotification) {
// Set icon badge number to zero
application.applicationIconBadgeNumber = 0;
AlarmViewController *alarmView = [[AlarmViewController alloc]initWithNibName: @"AlarmViewController" bundle:nil];
UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:alarmView];
[self.window.rootViewController presentViewController:navController animated:YES completion:nil];
}
}
Run Code Online (Sandbox Code Playgroud)
我试图调试这个问题,我发现的是,每当我点击应用程序图标时,它都没有得到任何本地通知.只有点击通知,我才能获得本地通知.我不知道这是一个错误,或者我是否遗漏了什么.
所以请帮帮我
问候Ranjit.
在Cocos2d中,我用来通过代码获取当前运行的场景:
CCScene *runningScene = [[CCDirector sharedDirector] runningScene];
if ([runningScene isKindOfClass:[GameScene class]])
Run Code Online (Sandbox Code Playgroud)
有没有类似的方法来获得这个cocos2d-x也???
我在用:
CCScene *scene = (CCScene *)CCDirector::sharedDirector()->getRunningScene();
Run Code Online (Sandbox Code Playgroud)
但如何将其与当前场景进行比较?
苹果文档说:
在显示初始视图控制器之前,会调用您的应用程序委托,让您有机会配置视图控制器。
但这实际上并没有发生。
single view template.ViewController.m我添加awakeFromNib方法和里面我只是NSLog(@"VC").AppDelegate在didFinishLaunchingwithOptions我只是NSLog(@"AD")ViewController先执行AppDelegate。didFinishLaunchingwithOptions方法总是首先执行,我能够配置所有 ViewController 可以使用的数据库和其他初始内容,但现在我无法做到这一点。ViewController.m首先执行,我的数据库设置在didFinishLaunchingWithOptions.出了什么问题?
如何在app delegate中添加UINavigationController&以UITabBarController编程方式.
objective-c uitabbarcontroller uinavigationcontroller ios appdelegate
我需要在viewController中捕获数据并在应用程序执行期间保存,您可以在我拥有的任何其他View中使用它,尝试在AppDelegate中创建NSString,如下所示:
AppDelegate.h
property (Retain, nonatomic) NSString * token;
Run Code Online (Sandbox Code Playgroud)
AppDelegate.m
synthesize token;
Run Code Online (Sandbox Code Playgroud)
然后在另一个类中调用它,如下所示
添加包括
#include "AppDelegate"
Run Code Online (Sandbox Code Playgroud)
创建一个对象
AppDelegate * theToken = [[AppDelegate allow] init];
label.text = theToken.token;
Run Code Online (Sandbox Code Playgroud)
但是没有工作,在一些ViewController中出现nill
从我的appdelegate我需要执行一个来自viewcontroller的方法.
请问,有人能告诉我如何轻松地从appdelegate调用我需要的任何方法吗?
关于这个论点的很多问题但是没有一个是有用/完整/正确的,所以请避免将URL发布到其他主题:我已经检查了所有问题,但我真的找不到关于在Swift中这样做的任何确切答案.:)
我试图从我的AppDelegate调用来自NSObject类的方法.通常,如果从UIViewController调用但在AppDelegate中没有运气,则此方法有效.我的代码:
AppDelegate.m
#import "ACManager.h"
@implementation AppDelegate {
ACManager *acManager;
}
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[acManager login];
}
Run Code Online (Sandbox Code Playgroud)
ACManager.h
@interface ACManager : NSObject
-(void)login;
@end
Run Code Online (Sandbox Code Playgroud)
ACManager.m
+(ACManager*)sharedInstance {
static ACManager *sharedInstance;
@synchronized(self) {
if (!sharedInstance) {
sharedInstance = [[self alloc]init];
}
}
return sharedInstance;
}
-(void)login
{
NSLog(@"login run");
}
@end
Run Code Online (Sandbox Code Playgroud)
任何想法都谢谢你.从应用代表处调用时,有不同的方法吗?
我有授权窗口。当应用启动时,它是好的。我点击登录并转到下一个窗口。但是,当我点击“退出”并想返回到授权窗口时,我得到了零。在方法中,signinView控制器为nil。

appdelegate ×12
ios ×10
objective-c ×7
swift ×2
asynchronous ×1
cocos2d-x ×1
ios7 ×1
iphone ×1
nslog ×1
uistoryboard ×1