小编Jam*_*mes的帖子

编辑故事板时,Xcode Interface Builder崩溃

我是Xcode的新手,在使用Interface Builder时遇到IDE崩溃的问题.这是Xcode 4.5.

它工作得足够长,我可以在故事板上添加十几个按钮 - 但是当我尝试调整其中任何一个按钮时,它会崩溃并退出.如果我移动按钮,它会崩溃.如果我添加一个像标签这样的新对象,它有时会崩溃,但并非总是如此.

如果我不尝试编辑故事板,项目将在模拟器上构建并运行,没有任何问题.

我粘贴了下面崩溃报告的相关部分.为了节省空间,我已经从"视图层次结构"部分向下删除了所有内容,但如果它有用,我可以添加它.所有崩溃报告都引用相同的错误.

有趣的是,当我查看Console日志时,在每次崩溃之前,还有来自Interface Builder的另一个报告:

25/09/2012 10:46:35.661 Interface Builder Cocoa Touch Tool: CFPreferences:
user home directory at file://localhost/Users/me/Library/Application Support/
iPhone Simulator/User/ is unavailable. User domains will be volatile.
Run Code Online (Sandbox Code Playgroud)

这是正确的 - 该目录不存在.我有iPhone模拟器/ 6.0,但没有别的.我以该路径中的用户身份登录.

基于Stack Overflow和其他地方的其他建议,我已经尝试清理构建然后删除整个iPhone模拟器目录并让模拟器重新创建它,但这没有任何区别.

作为一项实验,我刚刚创建了一个新项目并将一些按钮和标签拖入故事板.这看起来很好.没有崩溃.

这是否表明我的其他项目中的某些内容已损坏?

任何建议都会非常受欢迎.这不是一个重要的项目 - 我正在这个阶段学习我的方法 - 但如果出现问题,那么我想在Xcode开始任何认真的工作之前对其进行排序.

提前致谢.

詹姆士

Process:         Xcode [650]
Path:            /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier:      com.apple.dt.Xcode
Version:         4.5 (1839)
Build Info:      IDEApplication-1839000000000000~3
App Item ID:     497799835
App External ID: 10747437
Code Type:       X86-64 (Native)
Parent Process:  launchd [129]

Date/Time: …
Run Code Online (Sandbox Code Playgroud)

crash xcode interface-builder

13
推荐指数
1
解决办法
9662
查看次数

成功登录后重新分配RootViewController

我的iOS应用程序打开时会显示登录提示.用户登录后,会切换到主视图.

在application:didFinishLaunchingWithOptions中,我将RootViewController设置为LoginViewController.LoginViewController将AppDelegate作为其委托:

LoginViewController *login = [[LoginViewController alloc] init];
[login setDelegate:self];
[[self window] setRootViewController:login];
Run Code Online (Sandbox Code Playgroud)

如果登录成功,LoginViewController将调用AppDelegate的userDidLogin方法:

if([[self delegate] respondsToSelector:@selector(userDidLogin)]) {
    [[self delegate] userDidLogin];
}
Run Code Online (Sandbox Code Playgroud)

userDidLogin创建一个新的UINavigationController并将其指定为RootViewController:

- (void)userDidLogin
{
    MainRecordViewController *mainRecordViewController = [[MainRecordViewController alloc] init];
    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:mainRecordViewController];
    [[self window] setRootViewController:navController];
}
Run Code Online (Sandbox Code Playgroud)

通过向LoginViewController的dealloc方法添加NSLog,看起来LoginViewController在该阶段被销毁,并且执行按预期继续.

我没有做任何明确关闭LoginViewController的事情,只是假设分配一个新的RootViewController将意味着旧的消失并被ARC整理掉.

我能依靠那种情况吗?这是一种明智的做法吗?

提前致谢.

詹姆士

cocoa-touch objective-c ios

9
推荐指数
1
解决办法
3708
查看次数

jQuery.get在服务器上没有收到最新版本的文件

可能重复:
阻止缓存AJAX调用

我正在使用jQuery来读取Web服务器上的一个小文本文件:

jQuery.get('scores.txt', function(data) {
    parseScores(data);
});
Run Code Online (Sandbox Code Playgroud)

这几乎可以正常工作 - 但它无法可靠地加载最新版本的文件.即使story.txt已更改,刷新页面也会返回完全相同的值data.

服务器是标准的Mac OS Apache,没有启用缓存,它与客户端是同一台机器 - 所以理论上我和它之间没有其他缓存.

如果我加载http://127.0.0.1/scores.txt到浏览器然后它总是打开最新版本.

查看Apache日志,对于页面无法更新的时间,jQuery GET请求永远不会到达服务器.

我怀疑我可能需要将此问题移至serverfault.com,但任何人都可以看到我的JavaScript出现问题会使其以这种方式运行吗?

有没有办法使用JavaScript/jQuery强制浏览器请求文件的新副本?

提前致谢.

javascript apache jquery

5
推荐指数
3
解决办法
1988
查看次数