草庐IT

OBJC_IVAR

全部标签

ios - 将 ObjC pod 集成到 Swift 框架中的问题

设置我有一个iOS应用MY-App,它使用我自己的框架MY-Framework。两者都是用swift编写的。该应用仅处理用户身份验证并将访问token传递给MY-Framework。MY-Framework然后处理整个ScreenFlow和业务逻辑。目标是将MY-Framework分发给客户,以便在他们的应用中使用它。此处提供了展示此问题的项目设置的最小示例:https://github.com/vprimachenko/lottie-pod-problem-sample现在我要增强我的框架,提供带有一些动画的View,并使用lottie为了它。我正在使用cocoapods版本1.6.

ios - Swift vs ObjC 初始化过程?

在ObjectiveC中我们创建像这样的对象-(instancetype)init(){return[superinit];//Hereitreturnsinitialisedvalue}Class*obj=[[Classalloc]init]但是swiftinitialiser不会返回任何值。FromSwiftdocsUnlikeObjective-Cinitializers,Swiftinitializersdonotreturnavalue.Theirprimaryroleistoensurethatnewinstancesofatypearecorrectlyinitializ

ios - 使用 J2ObjC 和 GSON 库将 Swift 类序列化为 JSON

我刚接触iOS,刚从Android开发转过来。我们有一个Android应用程序,它有几个我们正在使用J2ObjC将其转换为ObjectiveC的库。我一直在逐步引入库,到目前为止一切顺利。但是,在翻译了Google的GSON库之后我遇到了一个问题,如果我尝试使用翻译后的方法toJsonWithId我会遇到问题:letgson=ComGoogleGsonGson()letswiftTest=GsonSwiftTest()swiftTest.name="Ricky"print(gson.toJsonWithId(swiftTest))我收到以下错误:libc++abi.dylib:term

ios - 方法不能标记为@objc,因为它的结果类型不能在 Objective-C 中表示

我正在Objective-C和Objective-C运行时中公开swiftAPI。当我在函数前添加“@objc”时抛出错误“方法无法标记为@objc,因为其结果类型无法在Objective-C中表示”我的代码在这里@objcpublicstaticfunclogIn(_userId:String)->User?{}用户是可选结构。如何解决这个问题。 最佳答案 关键信息是这样的:Userisoptionalstruct如果User是一个结构体,那么它就不能在Objective-C中表示,就像一个没有继承自NSObject的Swift类

ios - Swift 中的 ObjC 协议(protocol)实现

好的,这是个大问题。我有一个用ObjC(this)编写的库。在那里我们有一个定义的协议(protocol)。当我尝试在swift文件中使用它时,我不断得到:Type"XXX"doesnotconformtoprotocol"XXX"为了简化事情,我制作了一个测试项目-它应该创建为Swift项目。然后创建带有以下协议(protocol)的ObjC头文件(我称之为StupidProtocol.h)(请注意每个名称和值与给定的完全匹配,包括大写/小写):@protocolMyProtocol-(NSString*)getAxisLabel:(id)axisValue:(CGFloat)val

ios - Swift 4 添加手势 : override vs @objc

我希望按如下方式向我的View添加一个手势:overridefuncviewDidLoad(){super.viewDidLoad()//Addtapgesturelettap=UITapGestureRecognizer(target:self,action:#selector(handleTap))myView.addGestureRecognizer(tap)}但是,在Swift4中,我的编译器给我以下错误:Argumentof'#selector'referstoinstancemethod'handleTap()'thatisnotexposedtoObjective-C建议

c# - 为什么预处理器在 C/C++/ObjC 以外的语言中不太常见?

我担任Java和VB.Net程序员大约4年,担任C#程序员大约6个月。我还使用了很多动态语言,例如Perl、Python、PHP和JavaScript。我从来不需要预处理器。我的问题是:为什么您看到预处理器在C、C++和Objective-C中如此广泛使用,但很少(或从未)在Java、C#或Scala等语言中看到它? 最佳答案 我不了解Objective-C,所以我的回答是关于对比C和C++中预处理器的使用。出于几个原因,预处理器最初对于C是必需的。如果我没记错的话,本来C是没有常量的,所以需要#define来避免魔数(MagicN

python - 是否可以从 ObjC 调用 Python 模块?

使用PyObjC,是否可以导入Python模块、调用函数并将结果作为(比如)NSString获取?例如,执行以下Python代码的等效操作:importmymoduleresult=mymodule.mymethod()..在伪ObjC中:PyModule*mypymod=[PyImportmodule:@"mymodule"];NSString*result=[[mypymodgetattr:"mymethod"]call:@"mymethod"]; 最佳答案 正如AlexMartelli的回答中提到的(虽然邮件列表消息中的链接已

python - python的sphinx中var、cvar、ivar有什么区别?

我在阅读sphinx文档页面时讽刺地发现关于var、ivar和cvar之间区别的文档非常缺乏。我想知道是否有人可以解释内联代码中每个不同namespace之间的区别。例子:classfoo(object):""":varstrfirst::ivarstrlast::cvarstrmiddle:"""这些sphinx标签之间的每一个有何不同,我如何知道哪一个是正确的,可以按设计正确使用? 最佳答案 var当然是通用变量。当您不想对正在记录的变量做任何进一步区分时使用它。ivar是一个“实例变量”,或者说是在实例对象(类的实例)上设置的

objective-c - ObjC ARC收缩(c铛崩溃)

我总是很犹豫在此处向杀手级论坛添加一个全新的问题,但是我没有看到任何与该错误类似的东西。似乎在编译我的.m文件之一时,lang铛崩溃了。如果有人看到或知道以下任何解决方案,我将非常有义务。当我使用XCode4.4.1版本配置为armv6构建时,会发生此错误但是,当我为armv7,armv7s或i386的调试配置或发行版中的armv6生成时,不会出现。具体错误是“ObjCARC收缩”:1.parseratendoffile2.Codegeneration3.Runningpass'FunctionPassManager'onmodule'/Users/Me/Documents/ThisP