草庐IT

MYLIB_FUNCTION_ATTRIBUTE

全部标签

swift - 我在使用另一个文件的 swift 函数时遇到困难,我不断收到错误 "expression resolves to an unused function"

这是我尝试从不同文件调用的函数...funcsetLoginStatusT()->(){status=trueprintln("LoggedIn")ProgramStart()}我是这样调用它的……Main.setLoginStatusT“表达式解析为未使用的函数”到底是什么意思? 最佳答案 这个setLoginStatusT()->()意味着你正在返回一个函数。如果你不想退回任何东西,试试这个funcsetLoginStatusT(){//->(){status=trueprintln("LoggedIn")ProgramStar

function - typealias 泛型函数

作为一项学习练习,我正在尝试编写一个小型函数库。我的库中的许多函数都需要传入函数。我想为该函数“键入别名”,以便我的库的用户必须传入具有特定签名的函数。我已经试过了:typealiasCallback=Result->()这种作品,但我想要AnyObject部分是任何。不具体AnyObject,因为那实际上是某种真实类型(?)。我的Result枚举我基于这个article关于Swift中的错误处理。这是一个通用枚举,所以这就是我想在我的函数签名中反射(reflect)的内容。如果我删除部分我收到一条错误消息:Referencetogenerictype'Result'requiresa

function - SWIFT - 助手类回调

为了稍微管理/缩短我的代码,我决定尝试创建一个辅助类来管理所有警报。想法是帮助程序类将创建警报。当用户按下按钮时,它会发送一个回调来通知viewController上的代码按下了哪个按钮。然后基于此我可以触发不同的代码位。目前我的代码设法正确弹出警报,但我无法让它在按下按钮时发送回调。这是我到目前为止创建的警报管理器(为简单起见仍然是基本的):varalertMgr:alertManager=alertManager()classalertManager:NSObject{funcshowAlert(titleText:String?,confirmText:String,cancel

function - 如何通过引用传递函数

我正在尝试解决此练习:Createafunctionthattakesanarrayofintegers,afunctionpassedbyreferencewhichwillperformanoperationonthearrayandreturnanIntresult.我有问题。在多次搜索无果后,我将问题分解为代码片段以单独测试每一部分。我简单的“通过引用代码传递函数”是:funccounter(start:Int)->String{forvari=0;i\(i)")}return"Done"}functest(i:Int,inoutf:(Int)->String){f(i)}te

swift - 我如何在 `#function` 函数中使用 `inline` 符号?

我想用函数的名字来解决一些问题,但是#function似乎不能很好地与@inline(__always)一起工作,这是我的代码:@inline(__always)funclog(){print(#function)}funca(){log()}//want'a()',butgot'log()'funcb(){log()}funcc(){log()}//...谁能解释一下?或者这只是一个愚蠢的想法。 最佳答案 如果你的意图是打印调用函数的名称log(),那么你应该将它作为默认参数传递(它被评估在调用者的上下文中),如图所示在Build

ios - 当我尝试在函数前添加 private 时,Xcode 报错 "attribute private can only be used in a non local scope"

当我尝试在函数前面添加private时,xcode提示“属性private只能在非本地范围内使用”。我认为“私有(private)”应该用于您想要保留本地权利的事情?有人可以告诉我如何处理错误消息吗?我仍然想将函数保密。 最佳答案 我是通过搜索这个错误attributeprivatecanonlybeusedinanonlocalscope到这里的。在我的例子中,这是由switch语句末尾缺少右括号引起的。希望这对某人有帮助。 关于ios-当我尝试在函数前添加private时,Xcode

Swift 类型(:) function signature

我正在尝试实现返回值类型的简单名称的函数:functypeName(ofvalue:Any)->String{returnString(describing:type(of:value))}但是当我尝试在super.init调用之前调用它时:classSuperTest{init(name:String){print(name)}}classTest:SuperTest{init(){//super.init(name:String(describing:type(of:self)))super.init(name:typeName(of:self))}}Test()它失败了:'sel

ios - swift 4 : Unrecognized selector sent to instance when calling a function inside another class

对于我的应用程序,我在没有Storyboard的情况下工作。出于这个原因,我试图通过将更大的函数存储在另一个类中并在需要时调用它们来使我的ViewController保持整洁。出于某种原因,当我使用#Selector调用我的函数时,出现崩溃,提示“无法识别的选择器已发送至实例”。当我将我的函数存储在与#Selector相同的ViewController中时,它工作得很好。以下代码有效ViewControllerclassViewController:UIViewController{overridefuncviewDidLoad(){super.viewDidLoad()view.ad

ios - Swift 4.1 ABI 向前兼容性 : implement function that Apple will implement in the future

我不在乎明年是否必须重新编译我的应用程序,因为Apple再次更改了Swift语言。然而,我真正关心的是,如果我的应用程序已经在应用程序商店中,在加载期间停止工作并在应用程序启动时崩溃,因为用户更新到下一个iOS版本。我来自ObjectiveC背景,但我不了解二进制级别的Swift应用程序中发生了什么。在我正在编写的一个应用程序中,我添加了一个允许我添加两个CGPoint值的函数。这样做是有道理的,例如当你使用pangesturerecognizers时.代码是:func+(_a:CGPoint,_b:CGPoint)->CGPoint{returnCGPoint(x:a.x+b.x,y

iOS/swift : in which function between viewDidLoad and viewWillAppear am I supposed to query a database?

在我的应用程序中,由Swift和XCode6开发,我必须查询一个数据库,然后根据该答案修改并显示一些UI小部件,在我的例子中,它们是三个彩色按钮,我必须更改由数字组成的文本。这些按钮指示分配给用户的任务数量,并且根据任务的优先级它们具有不同的颜色。那么,我是否应该在viewDidLoad()函数中查询数据库,然后根据答案更改viewWillAppear中的按钮文本?是吗? 最佳答案 是的,你可以在viewDidLoad中查询它,但如果你在viewWillAppear中查询它会更好,因为viewDidLoad在View第一次加载时调用