相关疑难解决方法(0)

原子和非原子属性之间有什么区别?

财产申报中的含义atomicnonatomic含义是什么?

@property(nonatomic, retain) UITextField *userName;
@property(atomic, retain) UITextField *userName;
@property(retain) UITextField *userName;
Run Code Online (Sandbox Code Playgroud)

这三者之间的运作区别是什么?

properties atomic objective-c ios nonatomic

1828
推荐指数
20
解决办法
47万
查看次数

iOS5中强弱存储的说明

我是iOS5开发新手并使用objective-c.我无法理解存储和存储之间的区别.我已经阅读了文档和其他SO问题,但它们听起来与我完全相同,没有进一步的见解.

我阅读了文档:Transitioning To ARC - 它引用了iOS4的retain,assign和release条件; 这让我很困惑.然后我看看Open U CS193p,它区分强弱:

强者:"把它保持在堆中,直到我不再指向它为止"
:"只要别人强烈地指出它就保持这种状态"

是不是两个定义相同=如果指针不再指向一个对象,那么释放持有该对象的内存?我理解指针,堆,分配或释放内存的概念 - 但强弱之间有什么区别?

memory-management ios5 automatic-ref-counting

114
推荐指数
2
解决办法
5万
查看次数

目标C - 分配,复制,保留

我是Objective C的新手.我有C的基本知识,包括指针的概念.我有两个基本问题:

  1. 有人能解释分配,复制和保留之间的区别吗?
  2. 如何处理返回指针变量的函数,以及如何通过返回指针执行消息传递?

macos attributes memory-management objective-c ios

81
推荐指数
4
解决办法
10万
查看次数

如何在Objective-C中使用"copy"属性?

我在线阅读了很多材料,这些材料都解释了人们何时应该使用" copy"代替" strong".

"复制属性是强大的替代品.它不是取得现有对象的所有权,而是创建您分配给属性的任何内容的副本,然后取得对该属性的所有权.只有符合NSCopying协议的对象才能使用此属性. ".

并且有很多示例代码显示使用"复制"时,原始值保持不变.

但是,我是新手Objective-C.我真的想知道如何使用新分配的值.带有"新值"的"新实例(副本)"在哪里?如果需要,是否需要任何其他方法来更改原始值?

如果有人可以分享这个部分的一个例子而不是一个证明原始值没有改变的例子,那将是很好的.

copy objective-c ios

14
推荐指数
3
解决办法
6107
查看次数

Objective-C属性的类型

在Objective-C中声明属性时,可配置的自定义选项有哪些,它们定义了访问器方法的行为方式?

例如,你可以拥有弱,强,只读.

xcode objective-c

10
推荐指数
1
解决办法
8074
查看次数

何时在属性声明中使用"assign"或"retain"?

当我在iOS中为应用程序创建属性时,何时应该使用"assign"?我什么时候应该使用"保留"?

一个人比另一个人有什么好处吗?

objective-c ios

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

保留和分配有什么区别

我搜索了许多链接并阅读了很多文章,但我找不到确切的区别retainassign..

我正在尝试以下方法:

NSMutableArray *arr1 = [[NSMutableArray alloc] initWithObjects:@"1",@"2",@"3", nil];
NSMutableArray *arr2=[arr1 retain];
NSMutableArray *arr3 = arr1; //Assign

[arr1 addObject:@"66"];

NSLog(@"Array one   : %@",arr1);
NSLog(@"Array two   : %@",arr2);
NSLog(@"Array three : %@",arr3);
Run Code Online (Sandbox Code Playgroud)

输出:

Array one   : (
    1,
    2,
    3,
    66 
)  

Array two   : (
        1,
        2,
        3,
        66
)  

Array three : (
        1,
        2,
        3,
        66 
)
Run Code Online (Sandbox Code Playgroud)

以上示例给出了相同的输出.

考虑到上面的例子,我如何定义assign和之间的区别retain

如果以上示例有错,请提供更好的示例提供答案.

memory-management reference-counting objective-c ios automatic-ref-counting

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