昨天写了一个计算器 出现一个bug,导致对象为null并且调试也无法找出错误
最后终于发现原来是getter的函数名写错了
所以导致初始化失败。
//
// CalculatorViewController.m
// Calculator
//
// Created by linqianqiu on 12-7-19.
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//
#import "CalculatorViewController.h"
#import "CalculatorBrain.h"
@interface CalculatorViewController()
@property (nonatomic) BOOL userIsInTheMiddleOfEnteringANumber;
@property (nonatomic, strong) CalculatorBrain *brain;
@end
@implementation CalculatorViewController
@synthesize display = _display;
@synthesize userIsInTheMiddleOfEnteringANumber = _userIsInTheMiddleOfEnteringANumber;
@synthesize brain = _brain;
- (CalculatorBrain *)barin {
if (!_brain) {
_brain = [[CalculatorBrain alloc] init];
}
return _brain;
}
- (IBAction)digitPressed:(UIButton *)sender {
NSString* digit = sender.currentTitle;
if (self.userIsInTheMiddleOfEnteringANumber) {
self.display.text = [self.display.text stringByAppendingFormat:digit];
} else {
self.display.text = digit;
self.userIsInTheMiddleOfEnteringANumber = YES;
}
}
- (IBAction)operationPressed:(UIButton *)sender {
if (self.userIsInTheMiddleOfEnteringANumber) [self enterPressed];
double result = [self.brain performOperation:sender.currentTitle];
NSString* resultString = [NSString stringWithFormat:@"%g", result];
self.display.text = resultString;
}
- (IBAction)enterPressed {
[self.brain pushOperand:[self.display.text doubleValue]];
self.userIsInTheMiddleOfEnteringANumber = NO;
}
- (IBAction)clearPressed {
self.display.text = @"0";
}
@end
分享到:
相关推荐
辅助开发,Objective-C 懒加载getter 生成器, 在左边贴上 property声明,点击gen,右边生成懒加载getter
Laravel开发-laravel-rule-getter Laravel获得有效规则助手。
开源项目-joewalnes-go-getter.zip,go-getter: Like go get, but different
spring-service-getter-source.jar
资源来自pypi官网。 资源全名:easy-module-attribute-getter-0.9.37.tar.gz
go-getter -一个 Go库用于从各种来源使用URL下载文件或目录
加密价格获取者安装npm install crypto-price-getter解除安装npm un crypto-price-getter用法参考所有资产和基本对都可以在asset_base_pairs.txt文件中找到进口const {PriceGetter} = require('crypto-price-getter'...
An Objective-C Class for Working with Fractions 30 The @interface Section 33 Choosing Names 34 Class and Instance Methods 35 The @implementation Section 37 The program Section 39 Accessing Instance ...
借助Spring获取所有带有指定注解的接口、类、对象
DaHuJI/vetmanager-url-getter 通过诊所域名获取完整网址的简单包 安装 使用可以: npm install vetmanager-url-getter 用法: const vm_url = require('vetmanager-url-getter'); console.log(vm_url('devtr6')...
蒸汽ID吸气剂将Steam游戏名称转换为Steam ID的基本软件包安装npm install steam-id-getter --save获取ID const steamId = require ( 'steam-id-getter' ) ;console . log ( steamId . getId ( 'Subnautica' ) ) ;这...
social-post-getter
C-Sharp-Getter-SetterNEW:您可以了解如何使用getter setter选项运行c#方法。(我们着重于Java getter setter)
忠实的SSOcred是一个便捷的cli工具,它将从AWS SSO获取临时的AWS CLI登录凭证并将其... 安装: npm install -g aws-sso-credentials-getter或yarn global add aws-sso-credentials-getter 使用方法: ssocred {profile}
已修改 注释添加 生成路径不存在报异常
Reddit API 图像获取器安装npm i reddit-api-image-getter --save 开源查看 GitHub 上的源代码并为自己挖掘一点。例子 // exampleconst path = require ( 'path' )redditApiImageGetter = require ( 'reddit-api-...
img-mode-val-getter 以十六进制或rgba格式返回模式像素值的图像输入。
此扩展使您可以使用一个命令快速生成getter和setter。 它在vscode的命令面板中添加了3个命令: 插入PHP getter。 插入PHP setter。 插入PHP getter和setter。 扩展设置 此扩展程序提供以下设置: ...
完成后,您可以导出架构文档以供以后使用,并且可以使用Swift,Objective-C和Java导出对象。 使用领域对象编辑器,您将能够: 创建领域实体。 创建实体属性并为每个属性定义属性(主键,索引,忽略,默认值等) ...
这个插件只支持 Objective-C。 ##特征 复制类名 复制表达式 复制为选择器或@selector()或NSSelectorFromString() 复制为objc_msgSend()片段 复制为符号断点表达式 复制为宏片段 支持属性 getter/setter 按住 ...