更新: 使用结构而不是类.结构在很多方面都有更好的自己的初始化器.
这是我的模特课.是否可以init自动创建方法?每次我必须逐个初始化所有变量,这需要花费大量时间.
class Profile {
var id: String
var name: String
var image: String
init(id: String, name: String, image: String) {
self.id = id
self.name = name
self.image = image
}
}
Run Code Online (Sandbox Code Playgroud)
我希望self.id = id和其他变量自动初始化.
我创建了一个自定义视图并将其添加到tableView部分标题中.
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
if section == 2 {
if (headerView == nil) {
headerView = CustomHeaderSection(frame: CGRectMake(0,0,self.view.bounds.width,38))
}
headerView!.delegate = self
if isExpandableCell {
headerView!.arrowImage.transform = CGAffineTransformIdentity
}else {
headerView!.arrowImage.transform = CGAffineTransformMakeRotation(CGFloat(M_PI))
}
return headerView
}
return nil
}
Run Code Online (Sandbox Code Playgroud)
我在tableview部分添加了自定义视图上的按钮.现在,当我点击它时,如何获取indexPath?
这是我为Google登录创建的包装器类。
class GoogleLoginWrapper:NSObject, GIDSignInDelegate {
weak var presentingController:UIViewController!
init(presentingController:UIViewController) {
super.init()
self.presentingController = presentingController
var configureError:NSError?
GGLContext.sharedInstance().configureWithError(&configureError)
GIDSignIn.sharedInstance().delegate = self
}
// Google Delegate Methods
func sign(_ signIn: GIDSignIn!, didSignInFor user: GIDGoogleUser!, withError error: Error!) {
}
func sign(_ signIn: GIDSignIn!, didDisconnectWith user: GIDGoogleUser!, withError error: Error!) {
}
}
Run Code Online (Sandbox Code Playgroud)
我从视图控制器类中调用该类,如下所示:
class ViewController: UIViewController,GIDSignInUIDelegate{
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let googleWrapper = GoogleLoginWrapper(presentingController: self)
}
//IBAction method …Run Code Online (Sandbox Code Playgroud)