/// - Parameter className: 类名 /// - Returns: 类遵循的协议 func getJumpViewController ( className : String ) -> someOneAnswerProtocol { //1.这是获取命名空间 guard let name = Bundle . main . object ( forInfoDictionaryKey : "CFBundleExecutable" ) as ? String else { return DataAnswerViewController . init ( ) //2.命名空间和类名拼接 let className = name + "." + "DataAnswerViewController" //3.转化为类 let objectClass : AnyClass ? = NSClassFromString ( className ) //4.swift 中通过class创建一个对象必须告诉系统class类型 guard let classType = objectClass as ? UIViewController . Type else { return DataAnswerViewController . init ( ) //4.通过Class创建对象 let handleObject = classType . init ( ) return handleObject as ! someOneAnswerProtocol swift 引入了命名空间的概念,所以我们要先拼接命名空间/// 通过类名创建类 /// /// - Parameter className: 类名 /// - Returns: 类遵循的协议 func getJumpViewController(className:String) -> someOneAnswerProtocol { /...
/// <summary> /// 字符串 操作 /// 1、GetStrArray( string str, char speater, bool toLower) 把 字符串 按照分隔符 转换成 List /// 2、GetStrArray( string str) 把 字符串 转 按照, 分割 换为数据 /// 3、GetArrayStr(List list, string speater) 把 List 按照分隔符组装成 string /// 4、GetArrayStr(List list) 得到数组列表以逗号分隔的 字符串 /// 5、GetArrayValueStr(Dictionary<int, int> list)得到数组列表以逗号分隔的 字符串 /// 6、DelLastComma( string str)删除最后结尾的一个逗号 /// 7、DelLastChar( string str, string strchar)删除最后结尾的指定字符后的字符 /// 8、ToSBC( string input)转全角的函数(SBC case) /// 9、ToDBC( string input)转半角的函数(SBC case) /// 10、GetSub String List( string o_str, char sepeater)把 字符串 按照指定分隔符装成 List 去除重复 /// 11、GetCleanStyle( string StrList, string Split String )将 字符串 样式转换为纯 字符串 /// 12、GetNewStyle( string StrList, string NewStyle, string Split String , out string Error)将 字符串 转换为新样式 /// 13、SplitMulti( string str, string splitstr)分割 字符串 /// 14、SqlSafe String ( string String , bool IsDel) /// </summary>
在oc中将 字符串 转换成 类名 直接调用N SCla ssFrom String ("classname")即可,但是到了 swift 中变的麻烦多了 swift 中如果要将 字符串 转换 为类 型需要以下几个步骤 1.获取包名 var name = Bundle.main.object(forInfoDictionaryKey: "CFBundleExecutable") as? String //这是获取项目的名...
今天完善夫特架子,导航里面用夫特获取 类名 的时候,突然很懵逼,居然木有。 (OC),只好自己研究下了,写了一个获取 类名 的扩展名,后来发现有个.self的方法,也尝试了下哈,看下图 print(UIScreenEdgePanGestureRecognizer().ClassName) print(UIScreenEdgePanGestureRecognizer.self) print(type(o...
在第一次安装App, 或者更新App的时候, 常常会出现一个引导界面, 昨天晚上花了点时间, 写了个引导页,太晚就没发出来, 实现一个引导页其实并不困难. 请看代码 点我下载 Swift 的Demo 点我下载OC的demo 我们用NSUserDefaults 来判断程序是不是第一次启动或是否更新,在 //显示新手引导图 if ([GuideOutgoingServer is...
App 启动时间过长,可能有多个原因造成的,从理论上说App的启动时间是由mian()函数之前的加载时间(t1)和mian函数之后的加载时间(t2)组成的 关于t1 需要分析App 启动日志,具体方法是在Xcode 添加 DYLD_PRINT_STATISTICS 打印输出启动时间 打印的日志 dylib loading time: 403.91 millisecond...
Swift 注重安全性,而Objective-C注重灵活性, Swift 有函数式编程,面向对象编程,和面向协议编程,而Objective-C 几乎只有面向对象编程, Swift 更注重值 型的数据结构,而Objective-C 遵循c语言的老一套,注重指针和索引, Swift 是静态 型语言,而Objective-C 是动态 型语言 Swift 为什么将 String Array 和 Di...
ObjectMapper objectMapper = new ObjectMapper(); MyClass myObject = objectMapper.readValue(json String , MyClass.class); 其中,MyClass为自定义的 类名 ,需要与Json 字符串 中的字段名称对应。Json 字符串 需要符合Json格式要求,否则会抛出异常。