我的code.swift如下:
public class Test {
var testA: String = ""
var testB: String = ""
let T_testA : String = "testA"
let T_testB : String = "testB"
init(testA: String, testB: String) {
self.testA = testA
self.testB = testB
}
func toString() -> String? {
let jsonDic : [String: AnyObject] = [
T_testA: testA,
T_testB: testB,
]
do {
let jsonObject = try NSJSONSerialization.dataWithJSONObject( jsonDic, options: NSJSONWritingOptions.PrettyPrinted)
return String(data: jsonObject, encoding: NSUTF8StringEncoding)
} catch {
return nil
}
}
}
在我的Tests.swift中
func testPerformanceExample() {
let result1 = Test(testA: {"major": 1, "minor": 2}, testB: "http://google.com")
let result2 = result2.toString()!
print("result2=\n\(result2)")
}
我读过类似的案例Here,这似乎是一个不同的问题!
是否可以一起创建嵌入式json对象并将其作为String返回?
答案 0 :(得分:1)
如果您想从现有代码中获取内容,请正确使用:
public class CustomScrollView extends ScrollView {
public CustomScrollView(Context context) {
super(context);
}
public CustomScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomScrollView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public CustomScrollView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int size = 0;
int width = getMeasuredWidth();
int height = getMeasuredHeight();
if (width > height) {
size = height;
} else {
size = width;
}
setMeasuredDimension(size, size);
}
}
但实际上我建议你研究另一种方法:制作一个Swift字典,将这个字典转换为JSON数据,然后将这些数据转换为字符串。然后你将获得一个正确的JSON字符串,而不会有写错误字符串的风险。