我想在我的项目中使用sha256,但是我有一些麻烦将objC代码重写为swift代码.请帮帮我.我使用了这个答案:如何在iOS中计算SHA-2(理想情况为SHA 256或SHA 512)哈希?
这是我的代码
var hash : [CUnsignedChar]
CC_SHA256(data.bytes, data.length, hash)
var res : NSData = NSData.dataWithBytes(hash, length: CC_SHA256_DIGEST_LENGTH)
Run Code Online (Sandbox Code Playgroud)
它给了我错误的一切,因为swift无法转换Int为CC_LONG,例如.
我有系统"NavigationViewController - > MyViewController",我编程想要在第三个视图控制器中呈现MyViewController.问题是我在呈现它之后在MyViewController中没有导航栏.你能帮助我吗?
var VC1 = self.storyboard.instantiateViewControllerWithIdentifier("MyViewController") as ViewController
self.presentViewController(VC1, animated:true, completion: nil)
Run Code Online (Sandbox Code Playgroud) uinavigationbar uinavigationcontroller viewcontroller ios swift
我有sideViewController一个按钮和Action,通过单击此按钮显示新的视图控制器.
class sideViewController: UIViewController {
@IBOutlet var buttonVC1 : UIButton!
@IBAction func goToVC1 () {
var VC1 = self.storyboard.instantiateViewControllerWithIdentifier("ViewController") as ViewController
presentViewController(VC1, animated:true, completion: nil)
}
}
Run Code Online (Sandbox Code Playgroud)
我在主视图控制器中使用它:
class ViewController: UIViewController {
var menu : sideViewController!
override func viewDidLoad() {
super.viewDidLoad()
menu = self.storyboard.instantiateViewControllerWithIdentifier("menu") as sideViewController
menu.view.frame = CGRect(x: 0, y: 0, width: 160, height: 480)
view.addSubview(menu.view)
}
Run Code Online (Sandbox Code Playgroud)
当我单击此按钮时,问题是:"不鼓励在分离的视图控制器上显示视图控制器"
我该怎么做才能解决这个问题?
这是我的功能.首先println打印正确的哈希到控制台,但在下一行程序崩溃.你能帮助我吗?
func sha256(string: NSString) -> NSString {
var data : NSData! = string.dataUsingEncoding(NSUTF8StringEncoding)
var hash = [UInt8](count: Int(CC_SHA256_DIGEST_LENGTH), repeatedValue: 0)
CC_SHA256(data.bytes, CC_LONG(data.length), &hash)
let res = NSData(bytes: hash, length: Int(CC_SHA256_DIGEST_LENGTH))
println(res)
let resstr = NSString(data: res, encoding: NSUTF8StringEncoding)
println(resstr)
return resstr
}
Run Code Online (Sandbox Code Playgroud)