小编Dan*_*ark的帖子

我需要在dealloc中释放吗?

在我正在为iPhone开发人员学习的书中,他们使用IBOutletInterface Builder来利用实例.一个例子是a UIButton.所以他们在结构中添加了这样的东西:

 IBOutlet UIButton *whateverButton;
Run Code Online (Sandbox Code Playgroud)

然后他们@property在.h中为每一个添加一个,@synthesize在.m中添加一个.

然后,他们包括releasedealloc该.M的.两个问题:

  1. 是否需要发布?是不是所有属性都已自动处理?
  2. 为了调试目的,我如何检查引用计数以查看发生了什么?

iphone objective-c

3
推荐指数
2
解决办法
445
查看次数

标准来源(OSX上的Bash)

我想做这样的事情

 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)

它工作正常,但我想避免中间文件.

编辑:这一点的重点是命令完成后需要保持更改.对不起,我之前没有说清楚.

macos bash

3
推荐指数
1
解决办法
1953
查看次数

在Objective-C中读取Stacktrace?

我不喜欢实时调试,但如果有必要,我会这样做.

有没有办法弄清楚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)是什么?

debugging objective-c

3
推荐指数
1
解决办法
2063
查看次数

超越NARC:何时保留,何时分配,何时复制

我终于明白我是否必须释放一个对象,以及如何在一个简单的应用程序中保持我的保留计数尽可能低(通过知道该对象是否带有一个额外的'retain'已经被调用).因此,NARC规则在这方面运作良好.

另一方面,我不能围绕是否retain(通常使用保留属性)或只是assign实例变量.那里有经验法则吗?我只知道两个:

  1. 如果我在我的类中创建了实例(例如,在init中),那么我应该保留它并在其中释放它dealloc.
  2. 代表被分配,而不是保留

但我不明白的是我是否应该保留我从另一个实例传递的东西.我知道风险是保留计数降到零并且我留下了包(或者留下了许多额外的包和内存),但是......我应该如何组织我的应用程序以便不会发生这种情况?

我看过一些相关的问题,但没什么大不了的.

我在这里的时候:那些已添加到我UIWindow或未UIView亲自保留的内容中的内容如何?如果他们的超级视图从所有超级视图中删除,"自然"保留的实例是否会被取消分配?

memory-management objective-c narc

3
推荐指数
1
解决办法
812
查看次数

iPhone 4.0操作系统,块

在我的iOS冒险中,我真正陷入了障碍,因为它们UIViewAnimation对于"Animate With Blocks" 是必需的,这是推荐使用UIView动画的方式.当然,这会导致代码不向后兼容.我意识到这个问题有一个主观的组成部分,但在什么时候使用iOS 4.0代码只是一个好主意?或者差异代码是一个好主意,如何在objective-c中实现?

我现在面临重做我的iOS 3.0代码,这是一项痛苦的任务:我应该保持我的"块"代码,直到世界进步?

iphone objective-c

3
推荐指数
1
解决办法
314
查看次数

Android和C++:必要吗?

只是非常简单地检查Android开发,似乎大多数人都在使用Java.然而

Android包含一系列由Android系统的各个组件使用的C/C++库.这些功能通过Android应用程序框架向开发人员公开.

这是否意味着,在Android应用程序中,使用Java并使用C++:

  • 有时?
  • 很多?
  • 几乎从不?
  • 从不:你不能将它用于应用程序?

c++ java android

3
推荐指数
2
解决办法
465
查看次数

将垃圾收集添加到iPhone?

MonoTouch在iPhone上有自动垃圾收集功能.难道有人不能在iOS上过早地为Objective-C实现垃圾收集吗?我不是那样做的人,但我很好奇为什么或者这是不可能的.

我知道,像工程这样存在:怎样才能用它们在iOS?既然它们都是C/C++,而Objective-C包含那些语言作为子集,但是,这些语言实际上已经意识到系统架构......我在这里已经超出了我的深度......

虽然我们在这里,如果有人知道在iOS上实现GC的任何尝试,链接将有所帮助......

iphone objective-c

3
推荐指数
1
解决办法
3897
查看次数

使用performSelectorInBackground的风险?

我一直在使用ObjectiveResource(iOS-> Rails桥)进行一些测试.事情似乎有效,但图书馆是同步的(或许不是,但支持它的邮件列表是一团糟).

我想知道在一个performSelectorInBackground小测试中运行所有调用的陷阱是什么 ...它似乎工作得很好,但是很多事情都是错误的.

我注意到的唯一警告是你必须在performSelectorInBackground调用的方法中创建一个自动释放池(然后你应该只调用drain而不是release?).

multithreading objective-c ios

3
推荐指数
2
解决办法
1万
查看次数

如何让CoreAnimation在动画期间不忽略异常?

目前CoreAnimation在动画期间忽略异常,因此我的断言代码不起作用.如何让CoreAnimation在动画期间不忽略异常并停止程序执行以进行调试?

core-animation exception ios

3
推荐指数
1
解决办法
449
查看次数

力等级装卸(RoR)

我正在从这样的字符串加载一个类

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)

但这与上课之前的情况不一样.

注意:与相关.

ruby ruby-on-rails

3
推荐指数
1
解决办法
947
查看次数