草庐IT

weak_intrusive_pointer

全部标签

pointers - 这个 NSErrorPointer 类型是什么?

在Swift中,符号&用于inout参数。喜欢varvalue=3funcinoutfunc(inoutonlyPara:Int){onlyPara++}inoutfunc(&value)//valueisnow4onlyPara看起来不像是一个指针,也许是,并且在函数内部使用它时会立即取消引用。onlyPara是指针吗?当我不需要IntPointer类型时,为什么框架方法使用NSErrorPointer类型?因为它们可以'因为现有的Objective-C代码而更改方法?但是为什么Swift将&error转换为NSErrorPointer,这是自动装箱了吗?varerrorPtr:NS

swift - 什么时候我们不应该使用 [weak self] 和 [unowned self]?

我在StackOverflow上阅读了一些关于何时应该使用[weakself]的讨论。或[unownedself]在闭包中。但是,在某些情况下我们不必使用两者,因为当我们明确使用self时Swift不会显示任何错误或警告。在闭包内。例如,我们应该使用weak吗?或unowned在这里?UIView.animate(withDuration:0.3){self.view.alpha=0.0} 最佳答案 如果您的闭包会导致强引用循环,则需要使用[weakself]或[unownedself]。如果您将闭包分配到self的属性并且您引用s

swift 警告 : 'weak' should not be applied to a property declaration in a protocol

看起来像weakreferenceswillbedisallowedinprotocols.那么如果我想添加一个弱引用,我应该怎么做呢?有更好的主意吗?protocolPipelineElementDelegate:class{funcsomeFunc()}protocolPipelineElement{weakvardelegate:PipelineElementDelegate?{getset}} 最佳答案 只需从协议(protocol)中删除weak关键字,并在符合类型中将属性声明为weak即可:classSomeClass:

swift - didSet for weak reference 没有按预期工作

我有这个使用弱引用的Swift小脚本:#!/usr/bin/envswiftclassThing{deinit{print("Thingobjectdeallocated")}}classWeakThing{weakvarthing:Thing?{didSet{print("Setthingto\(thing)")}}}varthing=Thing()letweakThing=WeakThing()weakThing.thing=thingthing=Thing()print("weakThing'sthingis\(weakThing.thing)")这打印:SetthingtoOp

java - findbug 中 Possible null pointer dereference 是什么意思?

我正在使用Sonar,为了我的代码的安全,我遇到了这种违规行为:Correctness-Possiblenullpointerdereference有人知道findbugs中的这条规则吗?我搜索了很多,但找不到描述此规则的良好示例代码(Java语言),不幸的是,findbugs站点没有任何示例代码或关于此规则的良好描述。为什么会出现这种违规行为? 最佳答案 示例代码是这样的。Strings=null;if(todayismonday){s="Monday";elseif(todayistuesday){s="Tuesday";}Sy

Python:如何增加 ctypes POINTER 实例

假设p=ctypes.cast("foo",ctypes.POINTER(ctypes.c_char))。因此,我们有p.contents.value=="f"。如何直接访问和操作(例如递增)指针?例如。像(p+1).contents.value=="o". 最佳答案 你必须使用索引:>>>p=ctypes.cast("foo",ctypes.POINTER(ctypes.c_char))>>>p[0]'f'>>>p[1]'o'>>>p[3]'\x00'看看ctypesdocumentation了解更多关于使用指针的信息。更新:看来

c++ - SWIG C++ Python : wrapping int by reference or pointer

我正在尝试将一些C++函数包装到Python包装器中。为此,SWIG似乎是一种不错且简单的方法。换行有效,但我在通过引用或指针传递整数时遇到问题。由于Python无法使用引用,SWIG在内部将它们转换为指针。一些简单的示例代码:布拉特.hpp:#ifndef__BLAAT_HPP__#define__BLAAT_HPPclassBlaat{public:intmA;floatmB;public:Blaat(){}voidgetA(int&fA);voidsetA(constintfA);~Blaat(){}};#endif//__BLAAT_HPP__Blaat.cpp#include

pointers - Python ctypes : copying Structure's contents

我想用ctypes在Python中模拟一段C代码,代码是这样的:typedefstruct{intx;inty;}point;voidcopy_point(point*a,point*b){*a=*b;}在ctypes中,无法执行以下操作:fromctypesimport*classPoint(Structure):_fields_=[("x",c_int),("y",c_int)]defcopy_point(a,b):a.contents=b.contentsp0=pointer(Point())p1=pointer(Point())copy_point(p0,p1)因为conten

html - 光标 :pointer on hover html5 canvas element

有什么方法可以让用户知道该元素是可点击的吗?我一直在使用easeljs但没有找到任何相关的东西。 最佳答案 你可以使用这个:Howtomakeclickablepointsinhtml5canvas?当鼠标位于该区域时,您可以设置:$('#canvasID').css('cursor','pointer')和$('#canvasID').css('cursor','auto')没结束的时候。 关于html-光标:pointeronhoverhtml5canvaselement,我们在St

html - 光标 : pointer; on svg element is not working

在我的网站中,我使用svg元素。有时我需要它们是可点击的,因此我希望指针光标位于它们之上。但是添加CSS类或样式cursor:pointer;不工作。这是示例元素它似乎不适用于svg。有人知道如何修复或绕过它吗? 最佳答案 正如AmeliaBR的评论所示,您应该在SVG中添加此样式.除非您的SVG非常简单,否则您可能会遇到与我相同的问题:只有当您将鼠标悬停在SVG中的一个形状上时才能看到指针,但当您在形状之间时则看不到。(在某些情况下,您可能需要这种行为,但对于文字商标,例如,您通常希望整个矩形都是可点击的,而不仅仅是单个字母。)要