小编bed*_*ger的帖子

objective-c协议在自己的.h文件中定义?

除非我遗漏了某些内容,否则我将协议定义放在哪个.h文件中似乎是随意的.我甚至想知道它是否可以在它自己的.h文件中...(在Java中,它在它自己的文件中)

protocols objective-c

18
推荐指数
2
解决办法
9872
查看次数

typescript readonly类的属性

我注意到typescript 2.0将支持readonly类属性,但它尚不可用.这篇文章的原因是我希望能够明智地知道我今天如何编写代码,以便以后可以轻松过渡.

我想以这种方式使用具有只读属性的类:

let widget = new Widget(110, 220); // width, height
//...
widget.width(200); // to modify the width, I use a setter with validation
widget.width = 300; // note: I want this to be a compile time error
//...
let w = widget.width; // and later I want to get/draw the current width
Run Code Online (Sandbox Code Playgroud)

...但由于fn和属性具有相同的名称,我无法使其工作 - 所以我将fn名称切换为setWidth.我宁愿不用_前缀所有readonly属性,因为在过去我发现痛苦不仅仅是键入额外字符的麻烦.由于TS的类型检查,我不需要视觉提醒,该属性是只读(或私有).

Q1:如果width是widget类的readonly属性,那么上面的工作在typescript 2中会如下所示吗?

export class widget {
    readonly width:number;  // doesn't work in TS 1.8

    setWidth(w:number) {
        this.width = w;
    }
}
Run Code Online (Sandbox Code Playgroud)

在短期内,我可以将该属性公开,以便我可以直接访问,具有我可能直接设置属性的"风险" - …

typescript

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

标签 统计

objective-c ×1

protocols ×1

typescript ×1