- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
编辑 - 对打字错误表示歉意,我当时很匆忙,因为我不得不离开大楼,但嗯......我想问一下,为什么投反对票?仅仅因为一些语法错误?我愿意接受批评,但请保持建设性?
感谢您的建设性回答,我都投了赞成票。
=============================================
我有一个 iVar BOOL,我想在整个类(class)中使用它。我试图将它初始化为YES
,但我第一次读出它时,它是NO
。这是为什么?这对我来说很奇怪,因为我的 int
都被保留了。
在我的 .mm
文件中我有这样的东西:
@interface MyClass : NSObject {
BOOL myBool;
int myInt;
}
@end
@implementation MyClass
-(id)init{
//...
myInt = 3;
myBool = YES; //here i set it
//...
[self addObjectsToGame];
//...
}
-(void)addObjectsToGame{
//...
assert(myInt == 3);
assert(myBool); // <---- this line would fail
//...
}
@end
我知道我可以使用带有分配的@property,但为什么这个 iVar 不保留它的值??
编辑
好吧,哇,这里真的有点乱...我试着用 @property
替换它,但它仍然无法正常工作。然后我尝试为变量 myBool
“在项目中找到所有内容”,我不会在其他任何地方更改它
注意:我正在使用 cocos2d,但我认为这不会影响任何东西
最佳答案
我已经为您修复了 Objective-C 语法,一切都按预期工作
#import <Foundation/Foundation.h>
@interface MyClass : NSObject {
BOOL myBool;
int myInt;
}
-(void)addObjectsToGame;
@end
@implementation MyClass
-(id)init{
if (self = [super init])
{
myInt = 3;
myBool = YES; //here i set it
[self addObjectsToGame];
}
return self;
}
-(void)addObjectsToGame{
assert(myInt == 3);
assert(myBool);
NSLog(@"OK");
}
@end
int main(int argc, char *argv[]) {
@autoreleasepool {
[MyClass new];
}
}
关于Objective-C ivar BOOL 不保值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13485737/
我正在寻找一种采用 decimal.Decimal 对象 x 并返回字符串 s 的方法,这样: x == Decimal(s) re.match("^-?(0|[1-9][0-9]*)(.[0-9]*
我有一个使用 asp.net mvc 语法的 Kendo UI Grid。我有一个带有日期时间的列以及一个用于编辑的编辑器模板。当我单击“编辑”时,它会显示日期时间选择器,但我不确定如何保留当前值 (
我有一个使用 asp.net mvc 语法的 Kendo UI Grid。我有一个带有日期时间的列以及一个用于编辑的编辑器模板。当我单击“编辑”时,它会显示日期时间选择器,但我不确定如何保留当前值 (
我是一名优秀的程序员,十分优秀!