Objective-C的新手并且保持非常简单我希望一次只能理解一件事...我建立了一个非常简单的类叫做学生,所有它做的就是添加两个数字试图看看如何事物传入和传回方法)**我重写了代码==>>看结尾看看有效的版本**
如果我的方法有
@property (nonatomic) int firstNum;
@property (nonatomic) int secondNum;
我有一个名为student的班级实例我将firstNum
的值分配给student.firstNum = 100; student.secondNum = 77;
,这很容易,并且方法会添加它们并在return
中发送总和
但是在主要版本中我尝试从数组中分配它并且它没有用到我试过
student.firstNum = [myIntegers objectAtIndex:0];
和
student.firstNum = [myIntegers objectAtIndex:i]; //using a for loop with i index
它表示指向整数转换的指针不兼容
以下是我尝试过的主要内容片段并未完成它只是尝试设置firstNum
最终我还会设置secondNum
并将每对发送到该方法以添加在一起,但是现在我很难尝试让firstNum分配myIntegers[i]
中的值来启动
NSMutableArray *myIntegers = [NSMutableArray array];
for (NSInteger i= 0; i <= 10; i++) {
[myIntegers addObject:[NSNumber numberWithInteger:i]]; // this works up to here
student.firstNum = [myIntegers objectAtIndex:i]; // this does not work
}
我也试过[i]
。
这是我的方法:
- (int)addNumbers {
int sum = self.firstNum + self.secondNum;
return sum;
}
这是什么工作:假设我有一个学生对象
的.m
(长)addNumbers:(NSNumber *)x:(NSNumber *)y {
长款;
sum = [x integerValue] + [y integerValue]; 回报; }
主
NSMutableArray * myIntegers1 = [NSMutableArray array]; NSMutableArray * myIntegers2 = [NSMutableArray array];
for (NSInteger i= 0; i <40; i++) {
[myIntegers1 addObject:[NSNumber numberWithInteger:i]];
[myIntegers2 addObject:[NSNumber numberWithInteger:i]];
long sum = [student addNumbers:[myIntegers1 objectAtIndex:i]:[myIntegers2 objectAtIndex:i]];
NSLog(@" The sum is %ld", sum);
}
答案 0 :(得分:0)
您正在创建int
类型的属性,但在for
循环中,您尝试为其分配NSNumber
。
NSNumber
是c数据项的简单容器,可以容纳int
,float
,char
,bool
等。
将循环更改为:
for (NSInteger i= 0; i <= 10; i++) {
[myIntegers addObject:[NSNumber numberWithInteger:i]];
student.firstNum = [[myIntegers objectAtIndex:i] intValue]; // this 'extracts' the int value from the NSNumber
}