小编Kan*_*hen的帖子

不会调用iOS11 UIBarButtonItem操作

我使用Xcode9 Beta6来构建项目,在iOS10设备上正确调用了该操作,但它在iOS11设备上无法正常工作.

在我的项目中,有一些viewControllers顶部有一个UIToolBar,而toolBar包含一些UIBarButtonItems.

有一种这样的viewController,当我点击UIBarButtonItem时,不会调用其UIBarButtonItem动作.我可以看到点击动画(图标变得暗淡,手指释放后恢复正常)

最后viewDidLoad,我打印信息toolbar.items表明正确设置了目标操作.

调试输出

ios ios11 xcode9-beta

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

当我使用 Objective-c 中定义的宏时,Swift 条件编译无法正常工作

我在objective-c头文件中定义了一个简单的宏,并通过项目桥接头文件将这个头文件导入到Swift中。我能够在 Swift 中将此宏用作常量,但是当我使用它进行条件编译时,它无法正常工作。

我在 Xcode 10.2.1 中创建了一个简单的项目并添加了一些代码来重现它。在 ViewController.h 中

#define TEST_FLAG 1

@interface ViewController : UIViewController
@end
Run Code Online (Sandbox Code Playgroud)

在 ViewController.m 中

#import "testMacro-Swift.h"

- (void)viewDidLoad {
    [super viewDidLoad];

    SwiftClass *s = [[SwiftClass alloc] init];
    [s printMSG];

#if TEST_FLAG
    NSLog(@"Objc works.");
#endif
}
Run Code Online (Sandbox Code Playgroud)

在 testMacro-Bridging-Header.h 中

#import "ViewController.h"
Run Code Online (Sandbox Code Playgroud)

快速文件

@objc class SwiftClass: NSObject {
    @objc func printMSG() {
        print("Macro \(TEST_FLAG)")
        #if TEST_FLAG
        print("compiled XXXxXXXXX")
        #endif
    }
}
Run Code Online (Sandbox Code Playgroud)

控制台输出

Macro 1
2019-07-03 14:38:07.370231-0700 testMacro[71724:11911063] Objc works.
Run Code Online (Sandbox Code Playgroud)

我希望compiled XXXxXXXXX在 之后打印Macro 1 …

objective-c swift

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

标签 统计

ios ×1

ios11 ×1

objective-c ×1

swift ×1

xcode9-beta ×1