是否可以在变量监视窗口中的调试器数据提示中看到NSNumber的数值?
我将一个Integer值存储在NSNumber中,并希望在调试期间看到此值.
我已经在调试器中尝试了一些数据格式化程序,但它没有多大帮助.
有一些我试图理解的东西.我在我的AppsController-Class中为Cocoa应用程序提供了这个对象声明
NSMutableArray *personArray;
Run Code Online (Sandbox Code Playgroud)
在可以将此声明放在Header文件中或在代码文件中的类的实现内.没什么区别.我甚至可以将它放在#import命令下的@implementation上下文之外.应用程序工作得很好.
既然我没有从AppsController类继承或做任何其他想象,我想知道这些类型的声明之间可能有什么区别?
声明真的属于哪里?
我总是试图保持我的Xcode项目非常有条理,但我最近问自己在哪里放置struct数据类型.
正常我使用很多类,即使结构会这样做.由于类始终是单独的文件,因此更容易组织和更容易查找.
你把结构放在哪里?
我有一个小Cocoa应用程序需要保存其设置.是每次向用户进行更改时保存的最佳做法还是仅在应用程序结束时保存一次更好?
当应用程序结束或窗口关闭时是否会引发任何事件?
据我所知,有两种方法可以在swift中创建一个空字典
var randomDict = [Int:Int]()
Run Code Online (Sandbox Code Playgroud)
要么
var randomDict = Dictionary<Int, Int>()
Run Code Online (Sandbox Code Playgroud)
这些之间有什么区别吗?两个版本似乎都是一样的.
我正在玩我编写的一些Cocoa应用程序,其中我将类Person的对象添加到NSMutableArray.当我尝试访问超出数组限制的对象时,我得到的是控制台上的"超出边界"消息.
事实上我期待更糟糕的事情.我预计应用程序会崩溃!但事实并非如此.
我不确定这是好还是坏,但我想知道应用程序内部发生了什么以防止它崩溃.我一直有这个想法,我正在访问内存中不存在的对象.Normaly会杀死每个应用程序.
我有这个非常简单的程序,我只是创建一个对象并查看保留计数.
#import <Foundation/Foundation.h>
#import "GeometryCalculator.h"
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
GeometryCalculator *calculator = [[GeometryCalculator alloc] init];
NSLog(@"Counter: %d", [calculator retainCount]);
[calculator release];
[pool drain];
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我希望我的retainCount为1,但它是16863520.Class GeometryCalculator完全是空的.没有方法,没有实例变量.