- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 Xcode 4.6 作为计算器应用程序,但遇到了三个错误,您能解释一下可能导致这些错误的原因吗?
这里有 3 个错误
property 'pushElement' not find on object type "CalculatorBrain",
property 'enter pressed' not found on object type CalculatorviewController
property 'perform operation' not find on object type "CalculatorBrain"
这是我在其中遇到错误的代码的一部分,CalculatorviewController.m
- (IBAction)enterPressed:(UIButton*)sender {
[_Brain.pushElement :self.display.text]; ......first error ....
userIntheMiddleOfEnteringText= NO;
}
- (IBAction)operationPressed:(UIButton *)sender {
if (userIntheMiddleOfEnteringText)
self.enterPressed; ........second error.....
else {
double result = [_Brain.performOperation]; ... third error...
self.display.text=[NSString stringWithFormat:@"%g",result];
}
}
并且CalculatorBrain.m
代码是
#import "CalculatorBrain.h"
@implementation CalculatorBrain
-(void)pushElement:(double)operand {
NSNumber *operandObject=[NSNumber numberWithDouble:operand];
[self.stack addObject:operandObject];
}
-(double) popElement {
NSNumber *popedNumber=[self.stack lastObject];
if (popedNumber)
{
[_stack removeLastObject];
}
return [popedNumber doubleValue];
}
-(double)performOperation:(NSString*)operation {
double result = 0;
if( [operation isEqualToString: @"+"]){
result =self. popElement + self.popElement;
}
else if ([operation isEqualToString: @"*"]){
result=self.popElement*self.popElement;
}
else if ([operation isEqualToString:@"-" ]) {
double operand=self.popElement;
result=self.popElement - operand ;
}
else if ([operation isEqualToString:@"/"]) {
double divisor =self.popElement;
result= self.popElement/ divisor;
}
return result;
}
@end
最佳答案
这三个错误都是简单错误,表明您还不了解 Objective-C 的基础知识。你需要先学习语言。了解如何调用方法和传递参数。
第一个错误:
[_Brain.pushElement :self.display.text];
这应该是:
[_Brain pushElement:self.display.text];
此处您要调用 _Brain
对象上的 pushElement:
方法。
第二个错误:
self.enterPressed;
这表明您正在尝试访问 self
上名为 enterPressed
的属性。但没有这样的属性(property)。有一个名为 enterPressed:
的方法,它采用 UIButton
作为参数。所以你需要这样调用它:
[self enterPress:sender];
第三个错误:
double result = [_Brain.performOperation];
这里您想调用performOperation
方法,但没有。有一个名为performOperation:
的方法。它采用 NSString
类型的参数。它必须这样调用:
double result = [_Brain performOperation:@"some operation"];
这里缺少的部分是您希望传递的操作。没有明显的迹象表明它来自哪里。也许是按钮标题。
关于ios - 在已创建的对象 "the name of the class i' 上找不到属性”,并且 View Controller 无法识别其中定义的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15142233/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!