小编Bha*_*ain的帖子

如何自动为Swift类创建初始化程序?

更新: 使用结构而不是类.结构在很多方面都有更好的自己的初始化器.

这是我的模特课.是否可以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和其他变量自动初始化.

struct model initialization ios swift

9
推荐指数
3
解决办法
7907
查看次数

从自定义Tableview节标题中获取indexPath

我创建了一个自定义视图并将其添加到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?

uitableview ios swift

5
推荐指数
1
解决办法
2407
查看次数

在自定义类中未调用委托方法

这是我为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)

delegates ios swift google-signin

2
推荐指数
1
解决办法
520
查看次数