Перенос данных из приложения IOS в приложение Watch в кратчайшие сроки

Я создал приложение, в котором данные отображаются в текущем представлении из предыдущего представления. Данные включают изображение и три ярлыка. Теперь в текущем представлении у меня есть кнопка «Отправить для просмотра», которая также будет хранить данные в базе данных и в то же время передавать отображаемые данные для просмотра. Я использую базу данных FMDB для хранения данных. Как я могу перенести данные из приложения IOS в приложение для просмотра. Может ли кто-нибудь объяснить мне шаг за шагом, так как я новичок в разработке IOS. Мой текущий вид раскадровки приведен ниже: мой вид раскадровки

и когда я запускаю свое приложение, его текущая страница находится ниже страницы запуска приложения

мой исходный код для последнего просмотра ниже:

class TicketDetailViewController: UIViewController, WCSessionDelegate {

var databasePath = NSString()
var holding_Image: UIImage?
var hold_ticketName: String = ""
var hold_ticketDate: String = ""
var hold_ticketTime: String = ""
var session: WCSession!


@IBOutlet weak var ticket_grey: UIImageView!
@IBOutlet weak var cropped_frame: UIImageView!
@IBOutlet weak var display_image: UIImageView!
@IBOutlet weak var ticket_type_name: UILabel!
@IBOutlet weak var ticket_date: UILabel!
@IBOutlet weak var ticket_time: UILabel!


override func viewDidLoad()
{
    super.viewDidLoad()

    if WCSession.isSupported(){
        self.session = WCSession.defaultSession()
        self.session.delegate = self
        self.session.activateSession()
    }

    display_image.image = holding_Image
    ticket_type_name.text = hold_ticketName
    ticket_date.text = hold_ticketDate
    ticket_time.text = hold_ticketTime

    let filemgr =  NSFileManager.defaultManager()
    let dirPaths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
    let docsDir = dirPaths[0]
    var ticketDB: FMDatabase

    databasePath = (docsDir as NSString).stringByAppendingPathComponent("tickets.sqlite")

    if !filemgr.fileExistsAtPath(databasePath as String)
    {

        ticketDB = FMDatabase(path: databasePath as String)
        if ticketDB.open()
        {

            let sql_stmt = "CREATE TABLE IF NOT EXISTS TICKETS (ID INTEGER PRIMARY KEY AUTOINCREMENT, IMAGE TEXT, TICKET_TYPE TEXT, DATE TEXT, TIME TEXT)"
                    if !ticketDB.executeStatements(sql_stmt)
                    {
                        print("Error: \(ticketDB.lastErrorMessage())")
                    }
                    ticketDB.close()
                    } else
                    {

                     print("Error: \(ticketDB.lastErrorMessage())")
                    }
        }

}
  @IBAction func sendToWatch(sender: UIButton) {

    let ticketDB = FMDatabase(path: databasePath as String)
    if ticketDB.open()
    {

        let insertSQL = "INSERT INTO TICKETS (image, ticket_type, date, time) VALUES ('\(display_image.image!)','\(ticket_type_name.text!)', '\(ticket_date.text!)', '\(ticket_time.text!)')"

        let result = ticketDB.executeUpdate(insertSQL,withArgumentsInArray: nil)

        if !result
        {

            print("Error: \(ticketDB.lastErrorMessage())")

        } else
        {

            let alt = PMAlertController(title: "Success!", description: "Your data is saved to Database!", image: UIImage(named: ""), style: .Alert)

            alt.addAction(PMAlertAction(title: "OK!", style: .Default, action: { (ACTION) -> Void in



            }))

            self.presentViewController(alt, animated: true, completion: nil)
            print(databasePath)

        }
    }

} }


person Nishant Narola    schedule 17.08.2016    source источник
comment
Пожалуйста, обратитесь к этой ссылке, чтобы понять поток между iphone и iwatch данные между часами и iphone"> stackoverflow.com/questions/27030296/   -  person Krutarth Patel    schedule 17.08.2016
comment
эй, крутарт.. Мне нужно только отображать данные в часах. мне не нужно отправлять обратно в приложение ios...   -  person Nishant Narola    schedule 17.08.2016
comment
stackoverflow.com/questions/28024062/   -  person Krutarth Patel    schedule 17.08.2016
comment
Я не понимаю .. Можете ли вы отправить мне быструю версию, а не объективную C   -  person Nishant Narola    schedule 17.08.2016
comment
basememara.com/   -  person Krutarth Patel    schedule 17.08.2016
comment
Вы нашли свое решение?   -  person Krutarth Patel    schedule 17.08.2016
comment
нет крутарт .... все еще застрял   -  person Nishant Narola    schedule 17.08.2016
comment
где ты застрял. подскажи пожалуйста?   -  person Krutarth Patel    schedule 19.08.2016
comment
привет, крутарт, на последней странице моего приложения у меня отображается 3 ярлыка и 1 изображение. Можете ли вы сказать мне, как получить данные из базы данных FMDB, чтобы они могли получать и затем отображать их в моем приложении для часов?   -  person Nishant Narola    schedule 19.08.2016
comment
Вы используете Sqlitemanager? и какой у вас запрос.   -  person Krutarth Patel    schedule 19.08.2016
comment
я использую SQLPro для SQLite   -  person Nishant Narola    schedule 19.08.2016
comment
Хорошо. попробуйте добавить данные в базу данных   -  person Krutarth Patel    schedule 19.08.2016
comment
данные сохраняются, но если я хочу отобразить текущие сохраненные данные на своих часах Apple Watch из моего приложения ios при нажатии кнопки, тогда они должны быть извлечены правильно? .. Итак, как это сделать в моем коде?   -  person Nishant Narola    schedule 19.08.2016
comment
это требование для вас использовать базу данных?   -  person Krutarth Patel    schedule 19.08.2016
comment
это не требование, но, по крайней мере, мне нужно использовать для локального сохранения данных   -  person Nishant Narola    schedule 19.08.2016
comment
или есть ли другой способ сохранения и извлечения данных   -  person Nishant Narola    schedule 19.08.2016
comment
Да.Есть другой метод   -  person Krutarth Patel    schedule 19.08.2016
comment
тогда как я могу применить в своем коде   -  person Nishant Narola    schedule 19.08.2016


Ответы (1)


Вы можете делиться данными или отправлять эти данные с помощью групп приложений. Перейдите к цели, нажмите «Возможности», там вы можете найти «Группы приложений», просто включите его и добавьте запись, например «group.com.development.xyzapp», с помощью которой вы можете обмениваться данными из приложения iOS для просмотра и наоборот. Вы можете сохранить данные из приложения iOS с помощью приведенного ниже кода.

- (void)sendDataToWatch { NSUserDefaults *userDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.development.xyzapp"]; [userDefaults setObject:object forKey:@"itemone"]; [userDefaults setObject:object forKey:@"itemtwo"]; [userDefaults synchronize]; }

Теперь вы можете получить эти данные с часов.

Надеюсь, это поможет.

person Community    schedule 17.08.2016
comment
привет, маниш, спасибо за ваш ответ, я хочу отображать те же данные в часах, что и в моем ios ... Можете ли вы сослаться на скриншот, который я прикрепил ранее в своем вопросе. - person Nishant Narola; 17.08.2016
comment
[userDefaults setObject:@"moviename" forKey:@"mymovie"]; [userDefaults setObject:@"dateobject" forKey:@"moviedate"]; [userDefaults setObject:@"ImageObject" forKey:@"moviepic"]; Теперь, когда вы перезагружаете список наблюдения/экран приложения, вы можете получить все эти ключи всеми вышеуказанными ключами. - person ; 17.08.2016
comment
эй, чувак, я поместил свой исходный код для последнего снимка экрана, который я загрузил ранее .. Можете ли вы сказать мне, где я ошибаюсь? - person Nishant Narola; 17.08.2016
comment
теперь я хочу, чтобы отображаемые данные в моем последнем представлении, т. е. ticket_title, метки даты и времени и изображение ниже, показывали отображение в часах, где я взял 3 метки и imageView... Итак, как я могу сделать это с помощью кода, который я опубликовал - person Nishant Narola; 17.08.2016