在我正在为iPhone开发人员学习的书中,他们使用IBOutletInterface Builder来利用实例.一个例子是a UIButton.所以他们在结构中添加了这样的东西:
IBOutlet UIButton *whateverButton;
Run Code Online (Sandbox Code Playgroud)
然后他们@property在.h中为每一个添加一个,@synthesize在.m中添加一个.
然后,他们包括release在dealloc该.M的.两个问题:
我想做这样的事情
ruby test.rb | source /dev/stdin
Run Code Online (Sandbox Code Playgroud)
test.rb打印出来的地方cd /.没有错误,但它也没有做任何事情.如果我用这个:
ruby test.rb > /tmp/eraseme2352; source /tmp/eraseme2352
Run Code Online (Sandbox Code Playgroud)
它工作正常,但我想避免中间文件.
编辑:这一点的重点是命令完成后需要保持更改.对不起,我之前没有说清楚.
我不喜欢实时调试,但如果有必要,我会这样做.
有没有办法弄清楚Objective-C中StackTrace 的代码行是什么?它所指的变量怎么样?例如:
2010-05-13 19:39:11.673 Thingers[21003:207] *** -[NSCFString count]: unrecognized selector sent to instance 0x3b0ebb0
2010-05-13 19:39:11.674 Thingers[21003:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSCFString count]: unrecognized selector sent to instance 0x3b0ebb0'
2010-05-13 19:39:11.675 Thingers[21003:207] Stack: (
29303899
...
11130
)
Run Code Online (Sandbox Code Playgroud)
我看到我们正在讨论向count没有它的东西发送消息(也许它是一个NSCFString?),但有没有办法弄清楚该实例的命名引用(0x3b0ebb0)是什么?
我终于明白我是否必须释放一个对象,以及如何在一个简单的应用程序中保持我的保留计数尽可能低(通过知道该对象是否带有一个额外的'retain'已经被调用).因此,NARC规则在这方面运作良好.
另一方面,我不能围绕是否retain(通常使用保留属性)或只是assign实例变量.那里有经验法则吗?我只知道两个:
dealloc.但我不明白的是我是否应该保留我从另一个实例传递的东西.我知道风险是保留计数降到零并且我留下了包(或者留下了许多额外的包和内存),但是......我应该如何组织我的应用程序以便不会发生这种情况?
我看过一些相关的问题,但没什么大不了的.
我在这里的时候:那些已添加到我UIWindow或未UIView亲自保留的内容中的内容如何?如果他们的超级视图从所有超级视图中删除,"自然"保留的实例是否会被取消分配?
在我的iOS冒险中,我真正陷入了障碍,因为它们UIViewAnimation对于"Animate With Blocks" 是必需的,这是推荐使用UIView动画的方式.当然,这会导致代码不向后兼容.我意识到这个问题有一个主观的组成部分,但在什么时候使用iOS 4.0代码只是一个好主意?或者差异代码是一个好主意,如何在objective-c中实现?
我现在面临重做我的iOS 3.0代码,这是一项痛苦的任务:我应该保持我的"块"代码,直到世界进步?
只是非常简单地检查Android开发,似乎大多数人都在使用Java.然而
Android包含一系列由Android系统的各个组件使用的C/C++库.这些功能通过Android应用程序框架向开发人员公开.
这是否意味着,在Android应用程序中,使用Java并使用C++:
MonoTouch在iPhone上有自动垃圾收集功能.难道有人不能在iOS上过早地为Objective-C实现垃圾收集吗?我不是那样做的人,但我很好奇为什么或者这是不可能的.
我知道,像工程这样存在:怎样才能用它们在iOS?既然它们都是C/C++,而Objective-C包含那些语言作为子集,但是,这些语言实际上已经意识到系统架构......我在这里已经超出了我的深度......
虽然我们在这里,如果有人知道在iOS上实现GC的任何尝试,链接将有所帮助......
我一直在使用ObjectiveResource(iOS-> Rails桥)进行一些测试.事情似乎有效,但图书馆是同步的(或许不是,但支持它的邮件列表是一团糟).
我想知道在一个performSelectorInBackground小测试中运行所有调用的陷阱是什么 ...它似乎工作得很好,但是很多事情都是错误的.
我注意到的唯一警告是你必须在performSelectorInBackground调用的方法中创建一个自动释放池(然后你应该只调用drain而不是release?).
目前CoreAnimation在动画期间忽略异常,因此我的断言代码不起作用.如何让CoreAnimation在动画期间不忽略异常并停止程序执行以进行调试?
我正在从这样的字符串加载一个类
Kernel.const_get(some_class_name).new
Run Code Online (Sandbox Code Playgroud)
哪个有效,但这样做的正确方法是什么?
更重要的是,有没有办法卸载课程?我试过了
Object.send(:remove_const, some_class_name)
Run Code Online (Sandbox Code Playgroud)
但这与上课之前的情况不一样.
注意:与此相关.