小编Vec*_*tor的帖子

如何从另一个对象访问我的Application Delegate的窗口访问器方法?

如前所述 - 我是第一个订单的Objective-C新手,但是已经阅读了4本关于这个主题的实用书籍和一堆电子书和文档,我仍然无法找到我正在寻找的东西.

我有一个顶级内容视图控制器,它想要从应用程序委托的window属性的物理维度配置其视图属性.这是几个人已经问过的问题.([UIScreen mainScreen]不会因为此论坛之前已经多次播出的原因而削减它).因此,逻辑方法是内容视图控制器读取应用程序委托窗口的框架.现在,我发现接近这个的唯一答案是使用[[[UIApplication sharedApplication] window] frame]- 但是,这只有在窗口属性被设为keyAndVisible时才有效.内容视图控制器需要获取makeKeyAndVisible 之前读取app delegate的window属性.代码按此顺序排列....

应用代表:

- (BOOL) application: (UIApplication *) application didFinishLaunchingWithOptions: (NSDictionary *) launchOptions {
// This next line is a test window frame for R&D purposes....
    [self setWindow: [[UIWindow alloc] initWithFrame: CGRectMake(0.0f, 20.0f, 320.0f, 320.0f)]];

    if ([self window]) {
        contentViewController = [[ContentViewControl alloc] initWithNibName: nil bundle: nil]; // Content view controller instantiated here

        if (contentViewController) {
            [[self window] addSubview: [contentViewController view]];
            [[self window] layoutSubviews]; …
Run Code Online (Sandbox Code Playgroud)

methods accessor mainwindow uiapplicationdelegate ios

11
推荐指数
2
解决办法
2万
查看次数

重新启用XCode 4"在Xcode启动时显示此屏幕"复选框.

我已经设法取消选中Xcode 4'在Xcode启动时显示此屏幕'复选框,我想再次回来.这是如何实现的?我在用户首选项中看不到任何内容,在Xcode 4文档中也没有任何引用 - 除了'启动一个新项目'.此外,Google上似乎没有任何现有问题.如果有人知道重新启用复选框的位置 - 请告诉我.再次感谢.VV

splash-screen startup xcode4

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

KVO区分willChangeValueForKey和didChangeValueForKey - 都是必要的吗?

根据Apple自己的建议,当手动设置符合KVC/KVO标准的访问器时,应该包括BOTH KVO方法willChangedidChange.这就是我在所有手动访问器方法中所做的.

然而,observeValueForKeyPath:ofObject:change:context使用完全相同的字典内容来调用KVC方法的每一半(将要和做过).

当使用选项注册观察者时:NSKeyValueObservingOptionPrior观察者仍然被调用两次 - 每半次一次 - 并且再次使用相同的字典内容,仅保存字典中包含键'notificationIsPrior'的差异.

现在,当KVO用于改变"CPU价格昂贵"的属性时 - 比如改变颜色或重新绘制大而精细的设计,只有对'didChange'采取行动并忽略(或至少分离出)'willChange才有意义".在过去,我通过将密钥字符串转换为枚举列表元素来实现此目的,该元素返回左移'1'并使用该数字在收到第一个调用时设置32或64位整数的标志标志在第二个重置,我执行CPU密集型操作.

然而,令我感到震惊的是,对于每个案例来说,这都是一个非常重要的开销.有没有人有任何其他'首选'的方法来区分'willChange'和'didChange'的回调而不允许两次完成相同的处理?

我已经仔细搜索了Apple自己的文档和这个帮助小组的大量替代品,但Apple自己的doc实际上并没有详细介绍这个主题,而且这个小组中的一些人也有类似的问题摔跤.在任何情况下都没有提供确定的解决方案.如果有人知道更好的方式 - 除了用交替的旗帜躲避'willChange' - 我会非常感激.(为什么Apple不能在更改字典中包含'阶段'键?)

callback key-value-observing key-value-coding ios

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