草庐IT

material-swift

全部标签

ios - swift - 从 URL 中获取 OpenGraph 元标记

我正在尝试从URL中获取og(OpenGraph)标签并显示在应用程序中。对于大多数网站,我都正确地获取了标签,但对于某些网站,我没有。例如。ThisURL当我在浏览器上呈现并检查时,它会显示元标记,但当我尝试通过cURL获取html时,它会返回没有任何元的html内容。但是,当我在Slack或FB中共享URL时,它会呈现带有OG标签的预览。如何在iOS上执行此操作?感谢任何帮助。 最佳答案 您共享的URL存在问题,该网站需要启用Javascript。如果您没有启用Javascript,您只会返回一个基本页面,说明您需要启用Java

swift - 这两种创建实例的方式有何不同?

这个问题在这里已经有了答案:Initializingpropertyviaclosure(2个答案)关闭4年前。privateletfirstVc:HZSViewController={letvc=HZSViewController(type:.interaction)returnvc}()privateletsecondVc=HZSViewController(type:.interaction)第二种方式比较容易看,它们有什么区别?

ios - 自定义 leftBarButtonItem 未在 swift 4 中显示

我正在尝试在导航项中添加自定义lefBarButton但它没有显示任何东西我试过这些答案https://stackoverflow.com/questions/48564480/custom-leftbarbuttonitem-not-showed-in-ios-11navigationbarbuttonnotshowinginswift3navigationbarbuttonanditemsnotshowinginswift3NavigationbarbuttonnotshowingBarbuttonitemnotshowninnavigationBarNavigationbarno

swift - 让断点打印调用函数的名称

我想让我的断点在控制台中打印它所调用的测试的名称。这可能吗?相关地,我可以让断点条件取决于哪个函数让我们到达断点吗? 最佳答案 虽然不完全是“函数”名称,但您可以使用lldb的命令打印调用堆栈,直到您想要的为止。在Xcode中使用bt2的“调试器命令”操作创建一个断点(2限制要打印的调用堆栈的深度)。如果您不希望断点实际停止处理,请勾选底部的“自动继续...”选项复选框。当遇到断点时,您将在Xcode窗口底部“调试区域”的“调试器输出”Pane中看到类似于此的输出。*thread#1,queue='com.apple.main-th

swift - 使用 Storyboard 和自定义 View Controller init

当以编程方式推送ViewController时,可以通过init方法轻松地进行一些依赖注入(inject):letdummyVC=DummyVC(dummyManager:DummyManager())self.pushViewController(dummyVC,animated:true)使用目标Controller:classDummyVC:UIViewController{privateletdummyManager:DummyManagerinit(dummyManager:DummyManager){self.dummyManager=dummyManagersuper.i

swift - Audiokit 修剪音频

我正在制作音频编辑应用,我想修剪我的音频。对于音频编辑,我使用AudioKit框架。但是我在教程和示例中找不到如何使用此框架修剪音频? 最佳答案 异步导出允许设置开始和结束样本:https://github.com/AudioKit/AudioKit/blob/master/AudioKit/Common/Internals/Audio%20File/AKAudioFile%2BProcessingAsynchronously.swift#L267///ExportsAsynchronouslytoanewAKAudiofilewi

swift - 接口(interface)返回任何?但混凝土返回具体的东西

IbelieveIhavesolvedthiswiththankstothecurrent1pointeranswerandgenerics.I'llupdatetheanswerbelowandaddittothat.Thanks!正在尝试创建命令总线我正在努力在Swift中创建命令总线。我现在遇到的问题是我试图使这个东西足够通用以处理不同的命令,但结果在很多情况下我必须返回Any,这意味着我必须一直对所有内容执行代码内检查,我不确定我能做些什么。代码protocolCommand{}structTestCommand:Command{publicletvalue:int=1}pro

swift - 更改 UIAlertController 的标题字体大小

我正在尝试更改UIAlertController中的标题fontSize,但我无法管理如何将我的NSMutableAttributedString设置为title-属性。所以我一直在使用以下代码创建NSMutableAttributedString:lettitle=NSMutableAttributedString(string:user.fullName)letrange=NSRange(location:0,length:title.length)title.addAttribute(NSAttributedStringKey.font,value:UIFont.TextStyl

ios - Swift 正则表达式函数更新

我有以下功能staticfuncreplaceAtSignNotation(_text:String)->String{varsource=textletwholePattern="@\\[[a-z0-9-\\-]+\\]\\((\\w+)\\)"lettypePattern="(?它在寻找模式方面做得非常出色,例如:@[a12-3asd-32](john)@[b12-32d1-23](martha)并允许我捕获用户名,但某些用户名确实包含“-”,例如:@[c12-12d1-13](john-user-1)但我当前的正则表达式并未捕获这些情况。知道如何调整我的正则表达式来捕获这些情况吗

Swift 传入结构作为函数参数

我有一个这样的JSON解析类classJSONParser:NSObject{letnewJSONDecoder:JSONDecoderletdata:Datainit(decoder:JSONDecoder,data:Data,model:){self.newJSONDecoder=JSONDecoder()self.data=data}}目标是让model参数成为一个可以接收任何数据和任何模型并创建一个对象并将其返回给调用类实例的类。下面的EGletjsonParser=JSONParser(myDecoder,data,struct)letparsedArray=jsonPars