我已经看到代码(可能是Apple自己的示例代码)以这样的方式编写,它在dealloc中释放ivar并在viewDidUnload中设置属性.
例如
- (void)viewDidUnload
{
self.navigationController = nil;
}
- (void)dealloc
{
[_navigationController release];
}
Run Code Online (Sandbox Code Playgroud)
为什么他们在两个地方?另外,为什么将nil设置为一个并释放另一个.似乎self.property = nil会处理所有事情,因为它会释放并将ivar设置为nil.
我想创建一个具有相同值的对象的NSArray(比如NSNumber全部初始化为1),但计数基于另一个变量.对于NSArray的任何初始化器似乎没有办法做到这一点,除了处理C风格的数组.
有没有想过是否有一个简短的方法来做到这一点?
这就是我要找的东西:
NSArray *array = [[NSArray alloc] initWithObject:[NSNumber numberWithInt:0]
count:anIntVariable];
Run Code Online (Sandbox Code Playgroud)
NSNumber只是这里的一个例子,它基本上可以是任何NSObject.
当您尝试删除iPhone的Notes应用程序中的注释时,会弹出一个UIActionSheet.片材是半透明的(但不是黑色半透明).这是如何实现的?是否有可能使UIActionSheet的背景成为某种颜色?
我想在UISearchDisplayController的表视图背景中添加自定义UIImageView,并将表视图的背景颜色设置为clearColor.尝试了一些不同的方法,但找不到合适的解决方案.知道如何处理这个问题吗?
注意:我不想添加到searchDisplayController的searchResultsTableView的视图层次结构中,而是覆盖它下面的另一个兄弟视图)
如果我有一个只读字符串属性,是否需要指定strong(或retain)或copy在声明中?如果我没有说明,是否假设其中一个?
在我看来,所有权属性仅在你有一个setter时才有用.
@property (nonatomic, readonly) NSString *name;
Run Code Online (Sandbox Code Playgroud) NSNumber可以存储的最大价值是多少?
// ok
NSNumber *value = @(1 << 31);
// gives compiler error, so max NSNumber is 32-bit uint?
NSNumber *value = @(1 << 32);
Run Code Online (Sandbox Code Playgroud) 现在dispatch_get_current_queue在iOS 6 中已弃用,如何dispatch_after在当前队列中执行某些操作?
在Objective-C中,id<protocol> or NSObject<protocol>经常用于委托声明.
id和NSObject之间的主要区别是什么?你想什么时候使用一个?
Swift是否提供像Javascript一样评估Swift代码的能力?我想创建一个可以运行Swift代码的应用程序.
我有一个带有表视图和UISearchController的视图控制器.运行应用程序时,我发现搜索栏在活动时与内容重叠.当搜索栏处于活动状态时,我需要调整什么才能使内容不重叠?
普通视图:
搜索栏处于活动状态:
查看控制器设置: