kub*_*ubi 10 iphone properties objective-c modern-runtime
我刚刚开始在我的iPhone项目中使用合成实例变量.问题是,我无法在调试器中看到合成的ivars.当没有使用显式声明的实例变量时,有没有办法在调试器中查看对象的属性?
我需要澄清第二个问题.我不是在询问如何访问属性或他们做什么; 我知道那些东西.我的印象是,在使用基于此帖子的合成ivars时,您无法直接访问实例变量.我显然能够做到我以前认为不可能的事情.我想知道发生了什么事.
我正在使用Xcode 3.2.4/iPhone模拟器/ LLVM编译器1.5.
编辑为第二部分添加答案:
这适用于Xcode 3.1,所以我不明白为什么它不适用于更高版本
您可以做的是在调试时从控制台直接向对象发送消息.
大概你已经停在了一个断点处,你正在查看调试视图中的变量.对于对象,这些显示指针.你可能看不到iVar,但你有指向对象的指针,你可以发送消息.例如:
self(比如说)0x1031380.po [0x1031380 title](注意没有分号)并输入当您使用(retain)并随后合成属性声明属性时,您将创建保留传递给它们的对象/值的setter.所以在你的情况下,你应该重写方法:
- (void)viewDidLoad {
self.title = @"woah";
}
Run Code Online (Sandbox Code Playgroud)
字符串将作为setter的一部分保留.另外,我更喜欢使用(copy)的具有可变/不可变的对类集群(NSString,NSSet,NSArray等).这样,财产不能在外部改变.
小智 5
您不必使用变量的指针/地址.相反,你可以像这样使用变量名:
po [myVar title]
Run Code Online (Sandbox Code Playgroud)
如果变量在范围内,xcode将帮助您键入变量名称(上面的myVar).
| 归档时间: |
|
| 查看次数: |
4113 次 |
| 最近记录: |