2016-10-29 8 views
0

これをSwift 3でサポートするにはどうすれば変換できますか?今すぐ言われるエラーが表示されます:Get Week Swift 3

タイプ 'Date?'の値を変換できません。予想される引数型 'AutoreleasingUnsafeMutablePointer?'

しかし、エラーがちょうど何か他のものに変更し続けるので、私はあなたがより良いエラーの原因を行に指定したいサークルに

func getNumPOCThisWeek() { 
    var calendar = Calendar.current 
    calendar.firstWeekday = 2 
    calendar.timeZone = TimeZone(abbreviation: "UTC")! 
    var startOfWeek : Date? 
    (calendar as NSCalendar).range(of: .weekOfYear, start: startOfWeek, interval: nil, for: Date()) 

    //  let weekObj : WeekList! 
    let query = WeekList.query()! 
    query.whereKey("weekStart", equalTo: startOfWeek!) 
    do { 
     let weekObj = try query.getFirstObject() as! WeekList 
     print(weekObj) 

     let weekNumber = ScheduleObject.query()! 
     weekNumber.whereKey("weekObj", equalTo: weekObj) 
     weekNumber.countObjectsInBackground(block: { (counted : Int32, error : Error?) in 
      self.thisWeekPOCNumber.text = String(counted) 
     }) 
    } catch { 
     print(error) 
    } 
     } 
+0

http://stackoverflow.com/a/39581357/1187415を参照してください。 –

答えて

0

です。

この行を想定すると:

(calendar as NSCalendar).range(of: .weekOfYear, start: startOfWeek, interval: nil, for: Date()) 

latest reference of NSCalendarを確認してください:

func range(of: NSCalendar.Unit, start: AutoreleasingUnsafeMutablePointer<NSDate?>?, interval: UnsafeMutablePointer<TimeInterval>?, for: Date) 

startパラメータの種類がAutoreleasingUnsafeMutablePointer<NSDate?>?あるので、あなたはNSDate?の変数を宣言する必要があります。

var startOfWeek : NSDate? 
(calendar as NSCalendar).range(of: .weekOfYear, start: &startOfWeek, interval: nil, for: Date()) 

この変更は、いくつかの他の部分を修正するためにあなたを強制するかもしれませんが、WeekListまたはScheduleObjectのような謎に満ちている場合、私はあなたのコードのように何も言うことができない...


さもないと、あなたはスウィフトCalendarを使用することができますNSCalendar