comment
とimage
の属性を持つreport
というカスタムオブジェクトがあります。 prepareForSegue
-Methodでは簡単にreport.comment = "Comment"
と呼ぶことができます。これはうまくいきます...問題ありません。次に、画像を に設定し、新しいViewControllerが表示されたら、画像は表示されませんが、コメントが設定されています。カスタムオブジェクトにUIImageを保存できません
if let imageData = valueDict.valueForKey("image")
{
print(imageData)
print("Before processing: \(report.image)") //report.image has a standard value; UIImage()
report.image = UIImage(data: imageData as! NSMutableData, scale: 1.0)!
print("After processing: \(report.image)")
}
私が最初print()
-statementは私に、元の画像データを示していると確信しています。私は<ffd8ffe0 00104a46 49460001 01000048... and so on
のようなものを手に入れます。私もエラーは表示されません - メッセージは表示されません。変換方法が機能していないようです。変換後、私はこのような何かを得る<UIImage: 0x7ff6f858bda0>, {1080, 1080}
。 report.image = UIImage(named: "defaultPhoto.png")!
のような静止画を設定しても、画像は表示されません。
私はまた、次の呼び出し
report.image = UIImage(data: valueDict.valueForKey("image") as! NSData)!
report.image = (valueDict.objectForKey("image") as? UIImage)!
report.image = UIImage(data: valueDict.objectForKey("image"))
report.image = valueDict["image"] as! UIImage
を試みたが、何も作業していません。 したがって、主な質問は、なぜ変換メソッドが期待どおりに機能しないのかです。 プロジェクトを知らない人には間違っていると言われていますが、私がチェックしたり探すことができるヒントや助言があります。 何か助けていただければ幸いです。
編集:
私のSegue-Methodの準備は次のようになります。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
{
let dtvc: DetailReportTableViewController = segue.destinationViewController as! DetailReportTableViewController
let indexPath = tableView.indexPathForSelectedRow
let cell = tableView.cellForRowAtIndexPath(indexPath!) as! MyReportsTableViewCell
print("The ReportNumber is: \(cell.reportNumber)")
for singleReport in listOfAllReports
{
if singleReport.key as! String == cell.reportNumber
{
print("Bericht gefunden.")
let valueDict = singleReport.value as! NSDictionary
report.category = valueDict.objectForKey("category") as! String
report.comment = valueDict.objectForKey("comment") as! String
if let dateTime = valueDict.objectForKey("date")
{
let df = NSDateFormatter()
df.dateFormat = "dd-MM-yyy HH:mm:ss"
report.timestamp = df.dateFromString(dateTime as! String)!
}
if let locationData = valueDict.valueForKey("location")
{
report.locationData.längengrad = locationData.objectAtIndex(0) as! Double
report.locationData.breitengrad = locationData.objectAtIndex(1) as! Double
}
if let imageData = valueDict.valueForKey("image")
{
print(imageData)
print("Before processing: \(report.image)") //report.image has a standard value; UIImage()
report.image = UIImage(data: imageData as! NSMutableData, scale: 1.0)!
print("After processing: \(report.image)")
}
}
}
print("Category: \(report.category)")
print("Datum: \(report.timestamp)")
print("Location: \(report.locationData)")
print("Comment: \(report.comment)")
print("Image: \(report.image)")
dtvc.report = report
}
prepareForSegueの外観はどうですか? – beyowulf
私の投稿を編集して私のprepareForSegue-Methodを表示しました – user1895268
report.imageを表示するコードは何ですか? – beyowulf