草庐IT

iphone - 我怎样才能简化我的程序和我所有的 if 语句?

我正在创建一个十六进制、十进制和二进制转换器,到目前为止一切顺利。这是我在iPhone上的第二个项目,我是初学者。但是,我想知道如何简化我所拥有的(一堆if语句)。我有:if(enteredishex)if(binarybuttonclicked)converttobinaryif(decimalbuttonclicked)converttodecimalelse(hexbuttonclicked)keepinhexandinformelseif(enteredisbinary)if(hexbuttonclicked)converttohexif(decimalbuttonclicke

ios - 如何在 iOS 中简化单个复杂的 UIBezierPath 多边形

问题:我有一个用户生成的多边形(通过在屏幕上注册用户的触摸),它可以是简单的也可以是复杂的(复杂意味着具有未知数量的交叉点)并且我想要一个简单的多边形,该多边形是由原始多边形上的相同点产生的,如果您愿意,可以使用轮廓或轮廓之类的东西。可能的解决方案:我找到了this,但它是一个JavaScript解决方案和this完美地说明了我需要什么,但在ActionScript中!我不需要Path本身,这些点就足够了。你会如何处理这样的问题?更新:当我进一步观察时,我看到一些人建议解决方案是在点上使用ConvexHull算法,但是,凸包不是答案在这里,因为如果我是对的,结果将如下:

ios - iOS 的简化加密库

我从事Java密码学研究多年。现在,我们需要编写一个iOS应用程序,将加密的有效负载从移动设备发送到Java服务。我已经开始使用iOS加密支持(CommonCrypto等)并发现它有点困难。JCE有一个非常干净、简洁的API,所以我显然被宠坏了。相比之下,iOS加密是一个更难使用的API。是否有围绕CommonCrypto的任何简化的加密库或包装器提供更简洁的API?特别是,我们需要:key生成(对称和非对称)数据加密/解密数字签名(例如SHA1withRSA)散列RSA、3DES和AES支持例如,我知道我见过一两个包装AES加密的示例类。我正在寻找更丰富、更全面的东西。有人有什么建议

swift - 如何简化 Swift Enum 自定义初始化

我创建了一个字符串类型的枚举。它有两个初始化方法。一种是使用rawValue的默认init方法,另一种是使用intValue的自定义init方法。我是这样写的。有什么简单的方法可以不使用两个switchcase吗?enumRoman:String{caseI,V,X,L,C,D,MvarintValue:Int{switchself{case.I:return1//...}}init?(intValue:Int){switchintValue{case1:self=.I//...default:returnnil}}}//RomantoIntletnumber="XXI".revers

xcode - 有没有办法简化键入 Swift 尾随闭包?

尾随闭包使代码更具可读性,但编码过程一点也不愉快。例如,当我想键入这种只接受一个闭包参数的方法(如下所示)时。没有选择尾随闭包的代码提示:我必须删除()中的内容,然后像这样输入完整的闭包:有没有办法让这更容易? 最佳答案 键入ENTER两次,一次完成方法名称,第二次自动格式化闭包。当我开始输入函数名称时:按一次ENTER后:然后,在第二次点击ENTER之后:总结:输入函数的首字母,等待自动提示,然后按ENTER,然后再次ENTER。 关于xcode-有没有办法简化键入Swift尾随闭包?

swift - 你能利用 Swift 的结构默认初始化器来简化参数传递吗?

我正在设计我们的API以将具体的查询对象作为单个参数,而不是展开所有可以传递参数的地方的签名。例如,与其写这个……funcsomeQuery(requiredA:Bool,requiredB:Int,requiredC:String,defaultedA:Bool=false,defaultedB:Int=1,defaultedC:String="X",optionalA:Bool?=nil,optionalB:Int?=nil,optionalC:String?=nil){....}我正在写这个...funcsomeQuery(queryParams:QueryParams){...

ios - 如何在 Swift 中简化几乎相等的枚举扩展

我有大约20个枚举的扩展,如下所示:extensionCurrencyValue:JSONDecodable{staticfunccreate(rawValue:String)->CurrencyValue{ifletvalue=CurrencyValue(rawValue:rawValue){returnvalue}return.unknown}staticfuncdecode(j:JSONValue)->CurrencyValue?{returnCurrencyValue.createj.value()}}extensionStatusValue:JSONDecodable{sta

java - 如何使用 Java 8 功能简化重试代码块

在我的代码中,我有一个部分尝试连接到某个外部接口(interface),如果失败,那么它将重试固定次数。该代码有效,但有点难看。我想知道这是否可以使用一些奇特的Java8功能以更优雅的方式完成?intcount=0;finalintmaxRetries=3;while(count=maxRetries){LOG.debug("dosomethingelse...");//dosomethingelse}}} 最佳答案 您可以做的是分离出重试逻辑。您需要一些辅助脚手架:interfaceThrowingTask{voidrun()th

java - 很确定我的循环过于复杂但不确定如何简化

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭3年前。Improvethisquestion正如标题所说,我只需要一些关于如何简化我的部分代码的帮助/建议。我得到了我想要的输出,但很明显我的处理方式有点过分。我想在我的程序中做的是传递数组int[]myInches={89,12,33,7,72,42,76,49,69,85,61,23};进入我的buildFeetArray方法,该方法仅采用数组元素,将它们除以12以获得新的元素值,然后将其放入返回的新数组中。这是方法publicstaticin

java - Java中连续 'if'语句的简化

这个问题在这里已经有了答案:Findelementssurroundinganelementinanarray(8个答案)关闭6年前。我有一系列的if语句,如下所示:if(board[x+1][y]==true){ar+=1;}if(board[x][y+1]==true){ar+=1;}if(board[x-1][y]==true){ar+=1;}if(board[x][y-1]==true){ar+=1;}if(board[x+1][y+1]==true){ar+=1;}if(board[x+1][y-1]==true){ar+=1;}if(board[x-1][y+1]==tru