超级猜图swift
代码太多,贴几个重点吧
通过plist初始化(kvc),可以很方便的对类的属性进行赋值
//
// Question.swift
// 超级猜图
//
// Created by admin on 15/12/30.
// Copyright © 2015年 jin. All rights reserved.
//
import UIKit
class Question: NSObject {
var answer:NSString!
var icon:NSString!
var title:NSString!
var options:NSArray!
//加载文件,初始化对象数组
class func loadQuestionOfFile()->[Question]
{
let datas:NSArray! = NSArray(contentsOfFile: NSBundle.mainBundle().pathForResource("questions", ofType: "plist")!)
var temp:[Question] = []
for data in datas
{
temp.append(Question.instance(data as! NSDictionary))
}
return temp
}
//传入字典,初始化对象
class func instance(questionData:NSDictionary)->Question
{
// var temp = Question(answer:questionData["answer"] as! NSString,title:questionData["title"] as! NSString,icon:questionData["icon"] as! NSString,option:questionData["option"] as! NSArray)
// self.init(answer:questionData["answer"] as! NSString,title:questionData["title"] as! NSString,icon:questionData["icon"] as! NSString,option:questionData["options"] as! NSArray)
let temp = Question()
//直接使用字典的键值对队完成对对象属性的肤赋值
temp.setValuesForKeysWithDictionary(questionData as! [String : AnyObject])
return temp
}
}
kvc其它用法
//取出对象数组中对象的icon值
print((self.questions as NSArray).valueForKeyPath("icon")!)
//取出对象数组中对象的book值(是一个类)的name属性,这里执行会报错,oc使用点分割swift呢?
print(self.questions[0].valueForKeyPath("book.name"))
隐藏程序界面状态栏
override func prefersStatusBarHidden() -> Bool {
return true
}
隐藏启动界面状态栏
General
>Deployment Info
>Hide status bar
勾选就好了
修改状态栏 style
override func preferredStatusBarStyle() -> UIStatusBarStyle {
return UIStatusBarStyle.LightContent//居中
}
删除子控件
self.answerButtonView.subviews.forEach({$0.removeFromSuperview()})
弹出框
var alert = UIAlertView(title: "提示", message: "后面没有题了", delegate: nil, cancelButtonTitle: "取消", otherButtonTitles: "确认", "测试A","测试B")
控件放到最顶层
self.view.bringSubviewToFront(self.imageView)
谢谢