草庐IT

swift - 在 Swift 中创建一个接受 native Swift 协议(protocol)的弱容器

这是Swift中的标准样板弱容器。structWeak{weakvarvalue:T?init(value:T){self.value=value}}除非你想让T成为一个协议(protocol),否则它工作得很好,例如,protocolImplementationHiding:class{}classImplementation:ImplementationHiding{}letw=Weak(value:Implementation()asImplementationHiding)遗憾的是,这无法编译。我发现让它工作的唯一方法是在协议(protocol)上引入@objc:@objcpr

ios - 如何在 Swift 中创建一个像指南针一样的 'sliding view'?

在当前的指南针应用中,您可以在指南针和水平仪之间滑动。我如何在Swift中创建相同的效果?好吧,我正在尝试创建一个主要用于学习的应用程序。我想创建一个记事本应用程序,如果您向右滑动,会出现一个字体选择,如果您向左滑动,则会出现以前的笔记列表。到目前为止,这是我的代码varnoteArray:Dictionary=[:]varselectTextView=UIButton()varselectTextField=UITextField()varselectString:String=""overridefuncviewDidLoad(){super.viewDidLoad()self.v

swift - 为什么我可以在 Swift 中创建一个泛型类的实例,尽管并非所有参数都已初始化?

classElement{varinhalt:Tvarnaechstes:Element?init(_inhalt:T){self.inhalt=inhalt}}varelem1=Element()为什么我可以在swift中创建一个泛型类的实例,但并非所有参数都已初始化?我写了这段代码,我觉得奇怪的是可以创建一个没有参数的Element类的实例。变量“inhalt”是否需要初始化,因为它不是可选的? 最佳答案 在你的情况下,在varelem1=Element()通用类型T推断为Void(又名()),所以elem1类型为Element

swift - 在 Firebase 中创建一个始终使用 Swift 更新更改的实时观察者

我想创建一个函数,只要对数据库进行更改,它就会更新我的TableView。Database.database().reference().child("users").child(uid).child("tasks").observeSingleEvent(of:.childAdded,with:{(snapshot)->Voidinself.refreshData()//REFRESHforNewTaskCreated})Database.database().reference().child("users").child(uid).child("tasks").observeSi

ios - 在 Swift 2 的绘图应用程序中创建一个 'undo' 函数

我试图在Swift2中创建一个绘图应用程序,但在尝试实现“撤消”按钮时遇到了困难。我对此很陌生(实际上是非常新的),并且已尽力弄清楚,但我发现的所有其他例子要么是不同的版本或语言,要么就是不适用...也许是我缺乏知识阻碍了我在这里的进步。我试过使用“undoManager”,但我不知道如何使用它。我已尝试阅读可用的在线指南,但仍然一无所知!这是我的按钮:@IBActionfuncundoDrawing(sender:AnyObject){}我已经设置了touchesBegan:overridefunctouchesBegan(touches:Set,withEventevent:UIE

ios - 在 Swift 中创建一个随机数数组

我才刚刚开始学习Swift。我正在尝试创建一个包含多个随机数的数组,并最终对数组进行排序。我能够创建一个由一个随机数组成的数组,但是迭代它以创建一个由多个随机数组成的数组的最佳方法是什么?funcmakeList(){varrandomNums=arc4random_uniform(20)+1letnumList=Array(arrayLiteral:randomNums)}makeList() 最佳答案 在Swift4.2中有一个新的固定宽度整数的静态方法,使语法更加用户友好:funcmakeList(_n:Int)->[Int]

swift - 在 RealmSwift 中,当两个对象中的每一个都具有另一个对象的属性时,是否会创建一个保留循环?

例如,使用以下对象:importRealmSwift//DogmodelclassDog:Object{@objcdynamicvarname:String=""@objcdynamicvarowner:Person?}//PersonmodelclassPerson:Object{@objcdynamicvarname:String=""@objcdynamicvarpet:Dog?}如果按如下方式创建狗和人:letdog=Dog(name:"Pinto")letguy=Person(name:"Joe")dog.owner=guyguy.pet=dog这会产生一个保留周期吗?注意:

ios - 在 ios 的 mapbox gl 中创建一个圆圈

RMCircleswift里好像没有定义,我怎么画一个简单的圆?varcircle=RMCircle(position:position,radius:3000)相反,我只有MLGShape和MLGPolygon,但没有MLGCircle 最佳答案 http://github.com/mapbox/mapbox-gl-native/issues/2167上提供了解决方法将解决方案重写为swift2.0funcpolygonCircleForCoordinate(coordinate:CLLocationCoordinate2D,wi

arrays - 是否可以在 Swift 中创建一个仅限于一个类的数组扩展?

我可以做一个只适用于字符串的数组扩展吗? 最佳答案 从Swift2开始,这现在可以通过协议(protocol)扩展来实现,它为符合类型提供方法和属性实现(可选地受其他约束限制)。一个简单的例子:为所有符合的类型定义一个方法到SequenceType(例如Array),其中序列元素是String:extensionSequenceTypewhereGenerator.Element==String{funcjoined()->String{return"".join(self)}}leta=["foo","bar"].joined()

Android - 工具栏的标准高度

我想在我的应用程序中创建一个工具栏,我想知道android中工具栏的标准高度是多少?我希望它足够大,可以容纳一根手指,但不要太大。有标准尺寸吗? 最佳答案 最好使用?attr/actionBarSize正如@JaisonBrooks评论的那样。在materialguidelines,建议高度为56dp:Toolbar:56dp 关于Android-工具栏的标准高度,我们在StackOverflow上找到一个类似的问题: https://stackoverflo