小编use*_*519的帖子

从情节提要实例化视图控制器时,应用程序崩溃

我正在为我的应用实施超时操作。我提到了这个stackoverflow线程, iOS在一段时间不活动(没有用户交互)后执行操作,并且确实采用了完全相同的方法,但是当我的应用程序即将在此处过渡到新的视图控制器时,我的应用程序崩溃了

UIStoryboard *myStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:NULL];

UIViewController *cont = [myStoryboard instantiateViewControllerWithIdentifier:@"abc"];
Run Code Online (Sandbox Code Playgroud)

我在情节提要ID下的情节提要文件中给了名称abc。还有其他方法可以加载视图控制器吗?这有什么问题?为什么我的应用程序崩溃了?

这是来自控制台的崩溃消息:

由于未捕获的异常“ NSInternalInconsistencyException”而终止应用程序,原因:“无法在捆绑包中加载NIB”

我没有与此试图加载的控制器关联的.xib文件。我只有abc.h和abc.m文件。但是在我的情节提要文件中,我有一堆视图控制器,在其中,我将其中一个视图控制器的类指定为“ abc”。这还不够吗?否则,加载视图控制器的最佳方法是什么?使用segue?

objective-c uiviewcontroller ios uistoryboard

5
推荐指数
1
解决办法
4256
查看次数

UIAutomation:点击警报视图上的取消按钮而不实际执行此操作

我在UIAutomation面临这个奇怪的问题.

我正在检查警报.在那,我试图记录警报标题和警报消息.我的代码是:

UIATarget.onAlert = function onAlert(alert) {
UIALogger.logMessage("alert Shown");
UIALogger.logMessage(frontApp.alert().name());
UIALogger.logMessage(frontApp.alert().staticTexts()[1].value());
}

var target = UIATarget.localTarget().frontMostApp().mainWindow();
target.scrollViews()[0].buttons()["saveB"].tap();
UIATarget.localTarget().delay(2);
Run Code Online (Sandbox Code Playgroud)

我没有点击警报中的取消按钮来解雇它.但是,它会自动被窃听.我不知道为什么.即使在logMessages中,我也看到了

target.frontMostApp().alert().cancelButton().tap()
Run Code Online (Sandbox Code Playgroud)

这条线自动执行.我的脚本文件中的任何地方都没有此行.这是iOS中的错误吗?

instruments ui-automation uialertview ios ios-ui-automation

4
推荐指数
1
解决办法
1565
查看次数

将输出数据写入文本文件会导致文本文件中的结果不完整

我有14个列表,每个列表都有数字或字符串数​​据.每个列表的大小是32561.我必须输出一个格式为的文件:

list1_element1   list2_element1.......................list14_element1
list1_element2   list2_element2.......................list14_element2
.
.
.
.
.
list1_element32561   list2_element32561.......................list14_element32561
Run Code Online (Sandbox Code Playgroud)

输出文件中的每个元素由制表符空格分隔.我在Java中这样做了.

        out = new BufferedWriter(new FileWriter(fileName));
        for(int i=0; i<32561; i++) {
        out.write(firstList.get(i));
        out.write("\t");
        out.write(secondList.get(i));
        out.write("\t");
        out.write(thirdList.get(i));
        out.write("\t");
        out.write(fourthList.get(i));
        out.write("\t");
        out.write(fifthList.get(i));
        out.write("\t");
        out.write(sixthList.get(i));
        out.write("\t");
        out.write(seventhList.get(i));
        out.write("\t");
        out.write(eighthList.get(i));
        out.write("\t");
        out.write(ninthList.get(i));
        out.write("\t");
        out.write(tenthList.get(i));
        out.write("\t");
        out.write(eleventhList.get(i));
        out.write("\t");
        out.write(twelvethList.get(i));
        out.write("\t");
        out.write(thirteenthList.get(i));
        out.write("\t");
        out.write(fourteenthList.get(i));
            out.write("\t");
        out.write(fifteenthList.get(i));

        out.newLine();
    }
}
Run Code Online (Sandbox Code Playgroud)

我的程序只打印32441行,最后一行只包含6列.我不明白为什么.有人可以帮忙吗?

java filewriter bufferedreader

4
推荐指数
1
解决办法
2917
查看次数

iPad App因方向改变而崩溃

我正在开发一款iPad应用程序.我同时允许横向和纵向模式.我的UI在纵向模式下很好,但当我将其更改为横向模式时,我的UI变得混乱.我看到了一些与此相关的SO帖子,我在initWith中添加了以下代码...在我的UIView中.

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(abc)
                                             name:UIDeviceOrientationDidChangeNotification
                                           object:nil];
Run Code Online (Sandbox Code Playgroud)

这样做后,我的UI在纵向模式下工作正常.当我将其更改为横向模式时,我的用户界面很好.但在我将其更改回纵向模式后,我的应用程序崩溃了.我读了一些与应用程序崩溃相关的SO有关仪器的帖子.我启用了僵尸,发现正在向已发布的对象发送消息,此消息来自NSNotificationCenter.

除了注册我的设备之外,还有什么我需要处理的吗?另外,有什么方法可以将实现从UIView更改为UIViewController并实现UIViewController有关设备方向的方法?请让我知道我需要遵循的步骤才能完成这项工作.谢谢!

objective-c nsnotificationcenter device-orientation ios

3
推荐指数
1
解决办法
1680
查看次数

触发用户删除应用程序时用户注销的方法 - iPad应用程序

我有一个应用程序,我已经实现了登录,注销和一些自定义操作.某些操作只有在用户登录时才能执行,但如果用户在登录后删除了应用程序并且没有注销,那么我就无法让其他用户知道他不再是用户而且全部只有在此用户再次安装应用程序并登录后,才能执行与登录关联的操作.

是否有任何方法在应用删除之前被调用?这样我就可以在该函数中触发logout方法.有什么方法可以在他从设备中删除应用程序时使用委托方法或通知来注销用户?

objective-c logout ipad ios

2
推荐指数
1
解决办法
621
查看次数

UIAutomation - 检查Alert中的消息并将其与预期消息进行比较

我正在UIAutomation中处理警报.当我遇到警报时,我应该确保警报标题和消息与预期相同.我这样做是为了获取警报标题的访问权限.

var AlertTitle = target.frontMostApp().alert().name();
UIALogger.logMessage(AlertTitle);
Run Code Online (Sandbox Code Playgroud)

以类似的方式,是否有任何方法可以在警报中检索邮件?我试过用

target.frontMostApp().alert().value(); 
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我已经记录了元素树并得到了它.

UIAAlert
 |
 UIAImage
 UIAStaticField name: Abc value: ABc
 UIAStaticField name: XYZ value: XYZ
 UIAButton
Run Code Online (Sandbox Code Playgroud)

我需要在此警报中检索第二个UIAStaticField的值,并与预期值进行比较.我怎么做 ?

我试过这样做,但它没有用.

target.frontMostApp().alert().staticTexts[1]().value();
Run Code Online (Sandbox Code Playgroud)

ui-automation uialertview ios ios-ui-automation

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