我是IntelliJ的新手,最近更新为IntelliJ-2016.3.
在Java代码的编辑器中,它显示了使用时的方法签名.如何禁用此功能?
2016.1.4版本中没有此行为.我在更新后看到了这个.
任何帮助表示赞赏!
我正在窥探我的MSP430微控制器的头文件,我遇到了这个<setjmp.h>
:
/* r3 does not have to be saved */
typedef struct
{
uint32_t __j_pc; /* return address */
uint32_t __j_sp; /* r1 stack pointer */
uint32_t __j_sr; /* r2 status register */
uint32_t __j_r4;
uint32_t __j_r5;
uint32_t __j_r6;
uint32_t __j_r7;
uint32_t __j_r8;
uint32_t __j_r9;
uint32_t __j_r10;
uint32_t __j_r11;
} jmp_buf[1]; /* size = 20 bytes */
Run Code Online (Sandbox Code Playgroud)
我知道它声明了一个匿名结构和typedef它jmp_buf
,但我无法弄清楚它是什么[1]
.我知道它声明jmp_buf
是一个有一个成员(这个匿名结构)的数组,但我无法想象它用于什么.有任何想法吗?
我的问题使用Java作为例子,但我想它可能适用于所有.
在比较布尔值时,XOR运算符(在java中是^)和NOT-EQUAL-TO(在java中是!=)之间是否存在实际差异?
我在这里评估了一些东西,但我一直在想(似乎很奇怪,两件事情相等)......并且没有在网上找到任何东西.在一些论坛中只有一次讨论快速结束而没有任何结果.
看来我们现在可以在 iOS 15 中onAppear(action:)
或task(priority:action:)
在 iOS 15 中执行相同的任务。但是,我找不到task(priority:action:)
比onAppear(action:)
. 有谁能解释一下吗?
在Swift 3中,该String
结构似乎没有init(_: Int)
允许从Int
a 转换为a 的初始化程序String
.我的问题是为什么let i = String(3)
有效?String
它调用什么方法或初始化程序?谢谢.
我知道你可以MemoryLayout<T>.size
用来获得一个类型的大小T
.
例如: MemoryLayout<Int32>.size // 4
但是,对于类实例(对象),MemoryLayout<T>.size
返回对象的引用大小(64位计算机上的8个字节),而不是堆上实际对象的大小.
class ClassA { // Objects should be at least 8 bytes
let x: Int64 = 0
}
class ClassB {// Objects should be at least 16 bytes
let x: Int64 = 0
let y: Int64 = 0
}
MemoryLayout<ClassA>.size // 8
MemoryLayout<ClassB>.size // 8, as well :(
Run Code Online (Sandbox Code Playgroud)
如何获得物体的大小?
对于那些想知道的人,我没有真正的需要,我只是在探索Swift及其与C的互操作性.
我想在模式中指定我的 GraphQL API,但我也想将我的模式分布在多个文件中。我希望能够使用extend type Query
或extend type Mutation
向整个架构添加查询或突变。比如我的user.graphql
文件如下:
type User {
id: ID!
name: String!
email: String!
}
type UserResult {
success: Boolean!
errors: [String]
user: User
}
extend type Query {
user(userId: ID!): UserResult!
}
Run Code Online (Sandbox Code Playgroud)
对象Query
类型在不同的文件中定义schema.graphql
:
schema {
query: Query
mutation: Mutation
}
type Query {
dummyField: Boolean
}
Run Code Online (Sandbox Code Playgroud)
当我的应用程序启动时,这些文件将被合并以生成完整的 API 架构。
因为type Query
我已经包含了 a ,dummyField
因为我无法定义一个空的对象类型(没有字段的对象类型)而不出现错误。以下几行:
type Query {}
Run Code Online (Sandbox Code Playgroud)
和
type Query {
}
Run Code Online (Sandbox Code Playgroud)
抛出如下错误:
第988行,在expect_token …
尝试从故事板自定义实例化窗口控制器时,我感觉像是一个错误。我正在使用NSStoryboard.instantiateController(identifier:creator:)
,这是 MacOS 10.15 的新功能。有问题的代码块是:
let mainWC = storyboard.instantiateController(identifier: "id") { aDecoder in
MainWindowController(coder: aDecoder)
}
Run Code Online (Sandbox Code Playgroud)
我基本上成功地使用了这个确切的代码来自定义实例化主视图控制器,并将该视图分配给一个新窗口和一个新窗口控制器。这很好用。我还可以以老式的方式实例化窗口控制器,而无需使用instantiateController(identifier:)
. 但是当我尝试上面的代码来自定义窗口控制器的实例化时,我最终遇到了以下错误:
断言失败
-[NSClassSwapper _createControllerForCreator:coder:]
...自定义实例化控制器必须调用-[super initWithCoder:]
请注意,我的自定义视图控制器类(有效)和我的自定义窗口控制器类MainWindowController
(无效)都实现了平凡的初始值设定项:
required init?(coder: NSCoder) {
super.init(coder: coder)
}
Run Code Online (Sandbox Code Playgroud)
我知道这个功能是 OS 10.15 的新功能,但文档说它应该适用于窗口控制器和视图控制器,并且错误消息对我没有任何意义。
macos nswindowcontroller xcode-storyboard swift macos-catalina
我有以下属性结构 Chat
struct Chat {
var id = String()
var gender = String()
var date = Date()
init() {}
}
Run Code Online (Sandbox Code Playgroud)
在视图控制器中,我声明了一个名为Chat的实例observablechat
,然后我使用flatmap运算符来尝试并观察date
属性的变化observablechat
.但是,如果我更改性别属性(如图所示),则会触发订阅.我想知道为什么会这样,我如何修复此代码,以便订阅只查看date
属性发生了什么,没有别的?
class ViewController: UIViewController {
var observablechat = Variable(Chat())
observablechat.asObservable()
.flatMap { (Chat) -> Observable<Date> in
return Observable.of(Chat.matchDate)
}.subscribe(onNext: { (r) in
print(r)
}).addDisposableTo(disposeBag)
self.observablechat.value.gender = "male"
//triggers subscription above.
}
}
Run Code Online (Sandbox Code Playgroud) 我希望为我的应用程序制作一个工具栏,其中包含一些简单的按钮,每个按钮都有一个单色图标。下面是一些类似于我试图实现的工具栏按钮的示例,来自邮件的撰写窗口:
请注意,这些按钮具有一致的大小、内部填充、填充和阴影。这是 macOS 上非常一致的风格,出现在 Mail、Safari、Finder 等中。这让我怀疑有一个标准化的 UI 组件来创建这样的按钮。
如果我使用分段控件,每个按钮看起来都正确,每个图标都被正确填充:
现在我想添加与样式匹配的单个按钮。
我的第一次尝试是向NSButton
工具栏添加一个“按钮”( ):
这导致了一个有点太短的宽按钮,并且没有与分段控件对齐:
我的第二次尝试是使用分段控件,只有 1 个分段。
这导致按钮具有正确的形状、大小等,但它相对于其标签偏离了中心。
当然,我可以手动调整按钮以匹配目标,但我觉得我错过了一些东西。创建这些标准按钮的正确方法是什么?