参见英文答案 > Should IBOutlets be strong or weak under ARC?11个
可以像这样创建出口
@interface SearchViewController : UIViewController<UISearchBarDelegate> {    
    IBOutlet UIView *viewSearchBar;
    IBOutlet UIScrollView *scrollVieww;
    IBOutlet UILabel *lblName;
}

也喜欢这个

@interface SearchViewController : UIViewController<UISearchBarDelegate> {

}

@property(nonatomic,weak) IBOutlet UIScrollView *scrollVieww;
@property(nonatomic,weak) IBOutlet UIView *viewSearchBar;
@property(nonatomic,weak) IBOutlet UILabel *lblName;

@end

我知道ARC中的非原子/原子强/弱,但在第一个例子中它们是什么?强,弱,非原子或原子.

请解释或链接我的一些细节.

解决方法

默认情况下,ARC下的实例变量很强.它们既不是原子也不是非原子,因为它们只是实例变量而不是存取方法.原子/非原子标志与多线程有关.它们指定访问器方法是否应该是原子的.当访问器是原子的时,执行不能更改为访问器方法中间的其他线程.当它是非原子的时,没有这样的限制.

注意:IBOutlet是一个什么都没有的typedef.它只是Interface Builder的标志,没有与内存相关的功能.

ios – IBOutlets强弱的更多相关文章

  1. Swift中使用C11标准的原子操作

    当前Swift3.0中还没有正式引入基本类型相对应的原子类型。而在macOS以及iOS下,我们可以用系统自带的OSAtomicAPI进行原子操作处理。但这组API只能在Apple自家平台上使用,我们无法在Linux/FreeBSD中使用,所以我这边封装了顺应C11标准的一组原子类型与原子操作提供给Swift编程语言。所以,我这边的思路是将C11标准中支持的原子类型通过结构体进行封装。下面先给出此头文件的完整源代码:上述代码列出了我们后面在Swift中所需要的C语言底层对C11标准原子操作的封装实现。

  2. 如何在Swift中原子地增加一个变量?

    我想能够以原子方式增加一个计数器,我找不到任何关于如何做的参考.根据评论添加更多信息:你使用GCD吗?不,我没有使用GDC.不必使用队列系统增加一个数字似乎是过度的.你了解基本的线程安全吗?是的,否则我不会问原子增量.>这个变量是本地的?Withdispatchqueues,youCouldaddbothtaskstoaserialdispatchqueuetoensurethatonlyonetaskmodifiedtheresourceatanygiventime.Thistypeofqueue-ba

  3. 正则表达式 – 原子组清晰度

    >a*)时,b的执行速度提高了179%.现在原子组禁用回溯.所以比赛中的表现很好.>但为什么步数更多?>为什么会有差异.在两个原子团(?正则表达式中的每个组都需要一步进入和退出组.什么?!首先,我想向你展示量化的非捕获组,而没有组:那么到底发生了什么?我们将模式与正则表达式引擎上的测试字符串“concat”匹配,并禁用优化:在我们参加的同时,我会向您介绍更多的团体:不好了!我要避免使用群组!

  4. php – wordpress数据库中的交易

    WordPress正在使用MyISAM存储引擎.MyISAM不支持交易.wordpress如何维护交易?我的意思是如果wordpress有两个数据库写操作,它如何确保原子性?).一般来说,到目前为止我见过的大多数Web应用程序都不会因为事务,原子性甚至参照完整性而烦恼,这是非常可悲的.一方面令人遗憾的是,如此多的应用程序只依靠纯粹的运气而没有发生任何不好的事情,另一方面它可能会导致这样的印象:所有这些技术在数据库方面都不那么重要.

  5. 正则表达式语法实例详解

    本文将详细的介绍正则表达式语法讲解,采用了通用Perl正则表达式语法,通过PHP语法编写了实例。正则表达式的组成正则表达式由四部分组成:定界符、原子、元字符、模式修正符。此时该模式匹配时,将不区分大小写正则表达式语法原子1.原子可以分为打印字符和非打印字符打印字符即能从键盘上进行输入的。并且能够大似看懂正则表达式的意思。

  6. 【正则表达式】【01】基础学习2015.07.24

    匹配0次或者1次其之前的原子,即{0,1}例:连续出现3个5即/5{3}/[a-zA-Z]{2}即表示只要两个英文字母连续在一起的匹配\w{4}即连续四次符合\w的匹配\w{4,}即四次即以上\w{4,8}即四到8次\w*即连续在一起的\w就会被匹配\d+匹配一次到无限次的连续数字\d?

  7. 正则表达式基础篇

    正则表达式基础篇正则表达式的函数库:1.PCRE,与Perl语言兼容的正则表达式函数。二.元字符所谓元字符就是用于构建正则表达式的具有特殊含义的字符,例如:’*’,’、’,’+’,’?正则表达式的元字符元字符含义描述*匹配0次,1次或多次其前的原子+匹配1次或多次其前的原子?

  8. 正则表达式 原子

    包含:1.所有打印字符和非打印字符2.特殊字符要变成原子需要在前面加入反斜杠(\)例如:\*\?等3.还有代表范围的原子常用的:\d表示任意一个十进制数字\D表示任意一个非十进制数字\s表示任意一个空白例如空格回车(\n)换行(\r)table键(\t)垂直制表符(\f)\S表示任意一个非空白\w表示任意一个字\W表示任意一个非字4.自定义原子表[]可以匹配方括号中任意一个原子[-]范围[^]取反

  9. 正则表达式 – 原子组和非捕获组

    >是原子组还是非捕获组,表示为(?>bc|c)c仅匹配abcc.如果正则表达式是(?

  10. ios – IBOutlets强弱

    11个可以像这样创建出口也喜欢这个我知道ARC中的非原子/原子强/弱,但在第一个例子中它们是什么?

随机推荐

  1. iOS实现拖拽View跟随手指浮动效果

    这篇文章主要为大家详细介绍了iOS实现拖拽View跟随手指浮动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  2. iOS – genstrings:无法连接到输出目录en.lproj

    使用我桌面上的项目文件夹,我启动终端输入:cd然后将我的项目文件夹拖到终端,它给了我路径.然后我将这行代码粘贴到终端中找.-name*.m|xargsgenstrings-oen.lproj我在终端中收到此错误消息:genstrings:无法连接到输出目录en.lproj它多次打印这行,然后说我的项目是一个目录的路径?没有.strings文件.对我做错了什么的想法?

  3. iOS 7 UIButtonBarItem图像没有色调

    如何确保按钮图标采用全局色调?解决方法只是想将其转换为根注释,以便为“回答”复选标记提供更好的上下文,并提供更好的格式.我能想出这个!

  4. ios – 在自定义相机层的AVFoundation中自动对焦和自动曝光

    为AVFoundation定制图层相机创建精确的自动对焦和曝光的最佳方法是什么?

  5. ios – Xcode找不到Alamofire,错误:没有这样的模块’Alamofire’

    我正在尝试按照github(https://github.com/Alamofire/Alamofire#cocoapods)指令将Alamofire包含在我的Swift项目中.我创建了一个新项目,导航到项目目录并运行此命令sudogeminstallcocoapods.然后我面临以下错误:搜索后我设法通过运行此命令安装cocoapodssudogeminstall-n/usr/local/bin

  6. ios – 在没有iPhone6s或更新的情况下测试ARKit

    我在决定下载Xcode9之前.我想玩新的框架–ARKit.我知道要用ARKit运行app我需要一个带有A9芯片或更新版本的设备.不幸的是我有一个较旧的.我的问题是已经下载了新Xcode的人.在我的情况下有可能运行ARKit应用程序吗?那个或其他任何模拟器?任何想法或我将不得不购买新设备?解决方法任何iOS11设备都可以使用ARKit,但是具有高质量AR体验的全球跟踪功能需要使用A9或更高版本处理器的设备.使用iOS11测试版更新您的设备是必要的.

  7. 将iOS应用移植到Android

    我们制作了一个具有2000个目标c类的退出大型iOS应用程序.我想知道有一个最佳实践指南将其移植到Android?此外,由于我们的应用程序大量使用UINavigation和UIView控制器,我想知道在Android上有类似的模型和实现.谢谢到目前为止,guenter解决方法老实说,我认为你正在计划的只是制作难以维护的糟糕代码.我意识到这听起来像很多工作,但从长远来看它会更容易,我只是将应用程序的概念“移植”到android并从头开始编写.

  8. ios – 在Swift中覆盖Objective C类方法

    我是Swift的初学者,我正在尝试在Swift项目中使用JSONModel.我想从JSONModel覆盖方法keyMapper,但我没有找到如何覆盖模型类中的Objective-C类方法.该方法的签名是:我怎样才能做到这一点?解决方法您可以像覆盖实例方法一样执行此操作,但使用class关键字除外:

  9. ios – 在WKWebView中获取链接URL

    我想在WKWebView中获取tapped链接的url.链接采用自定义格式,可触发应用中的某些操作.例如HTTP://我的网站/帮助#深层链接对讲.我这样使用KVO:这在第一次点击链接时效果很好.但是,如果我连续两次点击相同的链接,它将不报告链接点击.是否有解决方法来解决这个问题,以便我可以检测每个点击并获取链接?任何关于这个的指针都会很棒!解决方法像这样更改addobserver在observeValue函数中,您可以获得两个值

  10. ios – 在Swift的UIView中找到UILabel

    我正在尝试在我的UIViewControllers的超级视图中找到我的UILabels.这是我的代码:这是在Objective-C中推荐的方式,但是在Swift中我只得到UIViews和CALayer.我肯定在提供给这个方法的视图中有UILabel.我错过了什么?我的UIViewController中的调用:解决方法使用函数式编程概念可以更轻松地实现这一目标.

返回
顶部