草庐IT

safe-publication

全部标签

memory-management - 'unowned(safe)' 和 'unowned(unsafe)' 之间的 Swift 有什么区别?

Apple的SwiftProgrammingLanguageGuide除了weak和之外,还提到了捕获说明符unowned(safe)和unowned(unsafe)无主。我(认为我)理解weak和unowned之间的区别;但是unowned(safe)和unowned(unsafe)有什么区别?指南没有说。请:不要依赖于简单地声明一个Objective-C等价物。 最佳答案 据我了解,虽然我无法从Apple找到明确的来源,但unowned可以分为两种类型,safe和unsafe.裸unowned是unowned(safe):它是一

arrays - 如何在 Swift 中获取 2 数组的公共(public)元素列表?

我有两个数组:fruitsArray=["apple","mango","blueberry","orange"]vegArray=["tomato","potato","mango","blueberry"]我怎样才能得到这两个数组中的常见项目列表ouptput=["mango","blueberry"]我不能使用ifcontains(array,string)因为我想比较2个数组。 最佳答案 您还可以使用filter和contains结合:letfruitsArray=["apple","mango","blueberry","

ios - iOS 10 中的 "Reading from public effective user settings"

我在启动我的应用程序时收到以下消息:2016-10-1214:47:23.705002Discovery[377:147958][MC]Systemgroupcontainerforsystemgroup.com.apple.configurationprofilespathis/private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles2016-10-1214:47:23.712212Discovery[377:147958][MC]Readingfrompubliceff

swift - 属性不能声明为公共(public),因为它的类型使用内部类型

我创建了两个类Content和Bucket。Bucket包含一组Content对象并通过公共(public)属性公开它。但是,当我这样做时,我收到错误:Propertycannotbedeclaredpublicbecauseitstypeusesaninternaltype关于为什么会引发错误有什么想法吗? 最佳答案 您还必须将Content类的访问级别声明为public。publicclassContent{//somecode}如documentation中所述:Apublicvariablecannotbedefinedas

c# - C# 3.0 中自动属性和公共(public)字段的区别

我不明白为什么C#3.0中存在自动实现的属性语言功能。当你说的时候有什么不同publicstringFirstName;比publicstringFirstName{get;set;} 最佳答案 因为它们在生成的IL代码(和机器语言)中的实现方式不同。Automatic属性仍然作为公共(public)getter和setter公开,而公共(public)字段只是-单个字段..因此,实现自动属性允许您在以后更改getter或setter的内部行为(如添加验证器),而无需重新编译或重新编码任何使用它的依赖类...

c# - 静态、内部和公共(public)构造函数之间有什么区别?

静态构造函数、内部构造函数和公共(public)构造函数之间有什么区别?为什么我们需要一起创建所有这些?staticxyz(){}publicxyz(){}internalxyz(){} 最佳答案 static构造函数将在第一次实例化该类型的对象或调用静态方法时调用。并且只会运行一次所有其他类型都可以访问public构造函数内部构造函数只能由同一程序集中的类型访问在这三个之上还有protected,它只能被从封闭类型派生的类型访问和protectedinternal只能由同一程序集中的类型或从封闭类型派生的类型访问和private,

c# - 我什么时候应该使用公共(public)/私有(private)/静态方法?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭3年前。Improvethisquestion我是C#的新手。直到这一刻,我习惯于将每个全局变量设为publicstatic。我的所有方法都是publicstatic,因此我可以从其他类访问它们。我读到,我拥有的公共(public)静态方法越少越好。因此,我通过将所有代码放在一个类(表单类)中来重写我的应用程序。现在我所有的方法都是私有(private)的,没有静态方法。我的问题:我应该怎么办,在我看来,将所有内容都保留在表单类中是垃

c# - ASP.NET MVC : Why is `ToMvcHtmlString` not public?

我正在尝试编写我自己的小HTML助手,它的行为很像DropDownListFor但它不会受到相同的problems的影响。我以前遇到过。我们不讨论DropDownListFor是否有缺陷——这不是这个问题的目的。无论如何,MVC人员将ToMvcHtmlString设为内部而不是公开的原因是什么? 最佳答案 我想我会为那些可能正在寻找解决方法并偶然发现这个问题的人发布一个简单的解决方法。虽然ToMvcHtmlString是内部的,但很容易绕过它,因为它使用公共(public)方法:来自MVC源:internalMvcHtmlStrin

c# - 什么是 C# 中的公共(public)获取/保护集属性的 Objective-C 等价物

有什么方法可以在Objective-C中创建像这个C#属性这样的属性吗?publicintprop{get;protectedset;}本质上,我想让从类外部获取值成为可能,但只能从类内部设置值。 最佳答案 完成此操作的最简单方法是在MyClass的公共(public)接口(interface)(即.h文件)中将该属性声明为readonly:@property(readonly)NSIntegerprop;然后,在该类的.m文件中,声明一个类extension(名称为空的类别)。在类扩展中,您可以redeclare将其可写性更改为可

c# - 公共(public)只读字段与只读属性

在某些情况下,您会想要一个公共(public)只读字段还是一个公共(public)字段?一个只获取的自动实现的属性?publicclassFoo{publicreadonlystringHello;publicstringHello2{get;}}两者都只能在构造函数期间设置,并且都提供类外的只读访问权限。我有点累了,所以我可能会遗漏一些东西。 最佳答案 使它成为属性而不是字段意味着它可以在接口(interface)上使用。确切的实现(尽管自动属性实际上并没有太多实现...)也是抽象的,因此您将来可以将其基于字段组合而不会破坏(编译