这可能是一个完全的菜鸟问题,但我似乎无法自己解决这个问题。我在这里和谷歌搜索,但没有任何运气。
我有一个有名字的类,例如'logme'。我在 .h 文件中实现了一个 float *floaters,在 .m 文件中创建了一个属性来合成它。.m 文件中的两个方法method1 和method2。当我从 viewcontroller 执行 method1 时,它使 floaters 变量成为具有一些值的数组。我对它们进行 NSLog 检查以检查它们是否存在。之后我执行方法 2,它只 NSLogs 相同的数组,但现在数组中的值完全不同。
日志文件
@interface Logme : NSObject {
float *floaters;
}
-(void)method1;
-(void)method2;
日志文件
@implementation Logme
-(void)method1 {
floaters = (float[8]) {
1.0f, 2.0f,
3.0f, 4.0f,
6.0f, 5.0f,
7.0f, 8.0f,
};
for (int i = 0; i < 8; i++) {
NSLog(@"%f", floaters[i]);
}
}
-(void)method2 {
for (int i = 0; i < 8; i++) {
NSLog(@"%f", floaters[i]);
}
}
@end
从视图控制器调用方法:
logme = [Logme alloc];
[logme method1];
[logme method2];
结果:
NSLog from method1:
1.000000
2.000000
3.000000
4.000000
6.000000
5.000000
7.000000
8.000000
NSLog from method2:
0.000000
-1.998885
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
- 对不起。我正在与这个 4 空间系统作斗争。它不允许我添加 .m 文件代码。终于到这里了:)