草庐IT

applescript-objc

全部标签

swift - 从 Swift 运行 AppleScript 不工作

我正在制作一个简单的菜单栏应用程序来执行一些操作,例如在Mojave中切换暗模式为它写一个AppleScript很好,当它直接运行脚本时100%工作。为了将它实现到菜单栏应用程序中,我尝试在线搜索,我找到的唯一答案是在这个链接中:CanyouexecuteanApplescriptscriptfromaSwiftApplication但是,当我尝试第一个解决方案时,我在控制台中收到一条错误消息:script:/Users/username/Documents/myscript.scpt:Operationnotpermitted我的代码是这样的:letproc=Process()pro

swift - '#selector' 的参数不引用 '@objc' 方法 (swift 3)

我正在我的SKScene中设置滑动识别,我发现硬编码所有识别器需要时间而且不是很整洁,所以我决定使用for循环和包含UISwipeRecognizer的字典s作为键,()函数作为值。问题是它在尝试使用recognizer.addTarget(self,action:#selector(functionForRecognizer[recognizer]!))添加目标时给了我标题错误代码如下:classxxxxx:SKScene{letrightSwipeRecognizer=UISwipeGestureRecognizer()letleftSwipeRecognizer=UISwipeG

objective-c - 无法在 Swift 中调用采用 int 的 ObjC 方法,因为 Int32 无法转换为 Int

我正在处理Objective-C和Swift的混合项目。我有一个名为Point的类,它是在Objective-C中定义的,它具有int属性和一个初始化程序:@property(nonatomic)intcolumn;@property(nonatomic)introw;-(id)initWithColumn:(int)columnrow:(int)row;我用它在Swift文件中创建对象:Point(column:Column,row:Row)但是报错:cannotinvoke'init'withanargumentlistwithtype'(column:Int,row:Int)'进

objective-c - swift中objc的 `UIViewController<MyProtocol>`相当于什么?

我想声明一个接受采用特定协议(protocol)的UIViewController的函数。我如何快速声明它?protocolMyProtocol{funcsubtitle()->StringfuncsaveResults()}funcsetupViewController(controller:UIViewController){//ERRORhere...}我为什么要这样做:因为我创建了一个容器ViewController,它有几个不同类的child。它们的共同点是MyProtocol,当然它们继承(直接或间接)UIViewController。所以我的一个方法将其中一个Contro

ios - 非常缓慢地将 Objc 迁移到 swift 代码

在我编写的一个应用程序中,我有一个从Core-Data解析大量数据并将其显示为图形的过程。在进行此处理时,我还最终将数据写入CSV文件。我创建了一个名为CSVLine的单独类,它有助于创建CSV文件。对于我记录的140k测试用例,我的Objective-C代码需要大约12秒才能运行。在将类(class)“迁移”到swift之后,它现在需要280-360秒才能运行。显然我做了一些糟糕的事情。使用Instruments我能够识别“慢”方法,我想知道我是否在SWIFT中做了一些明确的事情来导致这个问题。对象-(void)newLine{//NSLog(@"Appending%@",self.

ios - 从 : "_OBJC_CLASS_$_Mixpanel", o 引用的体系结构 x86_64 : __TMaCSo8Mixpanel in AppDelegate. 找不到符号

我正在正确安装Mixpanel(由于更大的问题而不使用CocoaPods)并且我在尝试构建时遇到了这个问题。显然它在链接过程中:Ld/Users/zheref/Library/Developer/Xcode/DerivedData/Skillet-gyrvrgajwggdcmhhtxflcerwovjx/Build/Products/Debug-iphonesimulator/Skillet.app/Skilletnormalx86_64cd/Users/zheref/Code/skillet/skillet-iosexportIPHONEOS_DEPLOYMENT_TARGET=8.

ios - SWIFT Apple Mach-O 链接器错误 "_OBJC_CLASS_$_BFExectur"

尝试将Parse与X代码和objective-c一起使用。弹出4个不同的错误。有什么建议吗?Undefinedsymbolsforarchitecturex86_64:"_OBJC_CLASS_$_BFExecutor",referencedfrom:objc-class-refinParse(BFTask+Private.o)l_OBJC_$_CATEGORY_BFExecutor_$_BackgroundinParse(BFTask+Private.o)"_OBJC_CLASS_$_BFTask",referencedfrom:objc-class-refinParse(PSObj

objective-c - 为什么需要 '@objc' 来检查 Swift 中的协议(protocol)一致性?

Apple的SwiftProgrammingLanguageGuide指出Youcancheckforprotocolconformanceonlyifyourprotocolismarkedwiththe@objcattribute如果我不与Objective-C互操作,为什么有必要这样做? 最佳答案 Swift1.2更新正如RyanM指出的那样,语言发生了变化,不再需要@objc关键字。事实上,下面的简单示例现在可以在没有@objc关键字的情况下工作:protocolAp{funchello()}classA:Ap{funche

ios - 如何在 objc_weak_error 上设置中断

在我的应用程序中,我有时会收到此错误:objc[3899]:__weakvariableat0x610000056bd0holds0x10003insteadof0x610000302640.Thisisprobablyincorrectuseofobjc_storeWeak()andobjc_loadWeak().Breakonobjc_weak_errortodebug.如何在“objc_weak_error”上设置中断。我应该这样设置吗?可能不是,我试过带引号和不带引号。因为当错误发生时我没有休息,所以有些事情是不对的。 最佳答案

swift - '#selector' 的参数不引用 '@objc' 方法、属性或初始值设定项

谁能告诉我为什么这段代码给出错误消息“'#selector'的参数不引用'@objc'方法、属性或初始化程序”?timer=Timer.scheduledTimer(timeInterval:0.1,target:self,selector:#selector(updateTimer(until:3)),userInfo:nil,repeats:true)函数如下:funcupdateTimer(untilendTime:Int){counter-=1timeLabel.text=String(counter)ifcounter==endTime{step+=1}}我尝试过的:1.在函