ios - 如何在 iOS 中设置非零初始值?

标签 ios button synthesize

我的标题中提到了一个 ivar

@interface MyClass : UIView{
    int thistone;}
- (IBAction)toneButton:(UIButton *)sender;
@property int thistone;
@end

我已经在实现中综合了它:

@implementation MyClass
@synthesize thistone;
- (IBAction)toneButton:(UIButton *)sender {
if(thistone<4)
    {thistone=1000;}   // I hate this line.
    else{thistone=thistone+1; }  
}

我找不到(或在任何手册中找到)设置非零初始值的方法。我希望它从 1000 开始,每次按下按钮时增加 1。该代码完全符合我的意图,但我猜测有一种更合适的方法可以节省上面的 if/else 语句。非常感谢代码修复或指向在线文档中特定行的指针。

最佳答案

每个对象都有一个在实例化时调用的 init 方法的变体。实现此方法来进行此类设置。 UIView 尤其具有 initWithFrame:initWithCoder。最好覆盖所有并调用单独的方法来执行所需的设置。

例如:

- (void)commonSetup
{
    thisTone = 1000;
}


- (id)initWithFrame:(CGRect)frame
{
    if (self = [super initWithFrame:frame])
    {
        [self commonSetup];
    }

    return self;
}


- (id)initWithCoder:(NSCoder *)coder
{
    if (self = [super initWithCoder:coder])
    {
        [self commonSetup];
    }

    return self;
}

关于ios - 如何在 iOS 中设置非零初始值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12632603/

相关文章:

windows - 为什么有些控件没有窗口句柄?

iOS 二传手 setter/getter

ios - 没有@synthesizing 的@property 声明

ios - 仅当我按几秒钟时,Swift UITableView 才会调用 didSelectRowAt

java - 如何在android中的按钮文本上添加阴影?

Javascript:链接到按钮的功能不起作用

Objective-C:id,访问实例属性,合成?

ios - 在iOS中捕获图像时如何显示纬度和经度

html - 无法使用 loadHTMLString :baseURL in iOS? 在 UIWebView 中加载 html 字符串

ios - 为什么 [UIScreen mainScreen].bounds] 没有返回全屏大小?