ビット単位の操作をすばやく行うことができるので、Objective-Cでいくつかの定数を初期化してアプリケーション内で使用することを検討しています。Objective-Cの定数変数をSwiftに公開する
私はこれを行う方法を知っている唯一の方法は、クラスを作成し、値を返すメソッドを与えることでしたが、私はより効率的な値があると考えています。
これを達成するには、より簡潔な方法が必要です。これが好きに簡素化することができればそれは素晴らしいことだ
let bridge = Bridge()
Texture.usage = bridge.readAndWrite()
:
ヘッダー:
#import <Foundation/Foundation.h>
#include <simd/simd.h>
#import <MetalKit/MetalKit.h>
#import <Metal/Metal.h>
@interface Bridge:NSObject
@property NSString *url;
- (MTLTextureUsage)readAndWrite;
@end
実装:
#import "MPS-Bridging-Header.h"
@implementation Bridge
- (MTLTextureUsage)readAndWrite {
return MTLTextureUsageShaderRead | MTLTextureUsageRenderTarget | MTLTextureUsageShaderWrite;
}
@end
スウィフト使用法現在、私は次のことをやっています MTLTexReadAndWrite
これは定数であるか、そうであるかのように私はBridge().readAndWrite()
を行うことができるので、それはすべて1行にありますか?
なぜobjective-cが必要ですか? – Sulthan
SwiftのほとんどはObjectiveCで、その逆も可能です。 Swift(またはObjectiveC)で何をする必要があると思いますか? –
[XY問題](https://meta.stackexchange.com/a/66378/159251)のような匂いがします。 _both_ Swift _and_ObjCから値を読み取る必要がありますか?または、どちらか一方だけからですか? 1つだけの場合は? 「何らかの理由で、迅速にしか可能ではない」とはどういう意味ですか? –