为了保持简单,我将只编码/解码单个字节。
\n\n如果我对字节 127 进行编码,我会得到 base64 字符串“fw==”,它可以成功解码回字节 127。但是,如果我对字节 \xe2\x89\xa5 128 进行编码,那么即使我可以生成没有错误的 Base64 字符串(例如,字节 128 给出字符串“gA==”),当我尝试对其进行解码时出现错误。
\n\n这是我的代码,可以将其复制粘贴到任何 Xcode Playground 中以重现该问题:
\n\nfunc stringToByteArray(string: String) -> [UInt8] {\n var bytes: [UInt8] = [];\n for code in string.utf8 {\n bytes.append(UInt8(code));\n }\n return bytes;\n}\n\nfunc byteArrayToBase64(bytes: [UInt8]) -> String {\n let nsdata: NSData = NSData(bytes: bytes as [Byte], length: bytes.count)\n let base64Encoded: NSString = nsdata.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0));\n return String(base64Encoded);\n}\n\nfunc base64ToByteArray(base64String: String) -> [UInt8] {\n let nsdata: NSData = NSData(base64EncodedString: base64String, options: NSDataBase64DecodingOptions(rawValue: 0))!\n let base64Decoded: …Run Code Online (Sandbox Code Playgroud) 当我尝试运行程序时,为什么一直收到错误消息"'睡眠'的冲突类型"?
#include <stdio.h>
#include <stdlib.h>
void congratulateStudent (char *student, char *course, int numDays)
{
printf("%s has done as much %s Programming as I could fit into %d days. \n", student, course, numDays);
}
int main(int argc, const char * argv[])
{
congratulateStudent("Mark", "Cocoa", 5);
sleep(2);
congratulateStudent("Bo", "Objective-C", 2);
sleep(2);
congratulateStudent("Mike", "Python", 5);
sleep(2);
congratulateStudent("Ted", "iOS", 5);
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我在使用swift调用方法的目标C中编写方法时遇到了麻烦.我已经正确设置了所有标头,并且简单的方法正在运行,但我不知道如何编写此块的目标C端.
我的快速课程
我试图打电话的功能:
func getOrders(completionHandler: (responseObject: NSString?) -> ()) {
makeCall(completionHandler)
}
Run Code Online (Sandbox Code Playgroud)
我是如何在swift中做的(以及我想在Objective-C中做什么):
getOrders() { responseObject in
// use responseObject and error here
println("responseObject = \(responseObject); error = ")
return
}
Run Code Online (Sandbox Code Playgroud)
这是我对Objective-C块的尝试:
[billingService getOrders:completionHandler:^(NSString * responseObject) {
NSLog(@"objective c callback: %@",responseObject);
}];
Run Code Online (Sandbox Code Playgroud)
以上我使用未声明的标识符'completionHandler'
我只是不确定如何使这项工作或在目标c中构建一个正确的块.
我只是想做Tableview搜索.我正在NSPredicate用于搜索.
每个教程都会给出这个代码行:
let resultPredicate = NSPredicate(format: "SELF contains[c] %@", searchText)
self.nameArray = self.nameArray.filteredArrayUsingPredicate(resultPredicate)
Run Code Online (Sandbox Code Playgroud)
但在第二行Xcode中说: Cannot assign a value of type '[AnyObject]' to a value of type 'NSMutableArray'
我试图转换,但这次xcode创建零值.我的两个阵列都是NSMutableArray.任何建议?
编辑
我的手机代码:
let cell:ItemsTVCell = tableView.dequeueReusableCellWithIdentifier("CELL") as! ItemsTVCell
if tableView == self.searchDisplayController?.searchResultsTableView {
cell.itemNameLabel.text = filteredArray[indexPath.row] as? String
} else {
cell.itemNameLabel.text = nameArray[indexPath.row] as? String
}
return cell
Run Code Online (Sandbox Code Playgroud)