簡體   English   中英

是否可以通過 Swift/Objective-C 中的 UIViewController 或 Storyboard 以編程方式獲取基本 UIViewController 的標識符?

[英]Is it possible to programmatically get the identifier of a basic UIViewController from an UIViewController or Storyboard in Swift/Objective-C?

我知道我們可以根據它的標識符實例化一個特定的 UIViewController(見下文):

var myPageContentViewController = self.storyboard!.instantiateViewControllerWithIdentifier("A") as PageContentViewController

但我的問題與這一點無關,換句話說,我只想知道是否可以以編程方式(在源代碼中)檢索我設置的標識符(在我們的例子中是字符串值“A”)這個特定 PageContentViewController 的故事板(它是我項目中 UIViewController 的子類)?

注意:使用 Swift 開發語言而不是 Objective-C 開發語言的答案對我來說會更方便,即使我知道后者。 為了您的信息,我使用 6.0.1 版本的 Xcode。

預先感謝您的回答。

在斯威夫特:

 var str: String! = self.restorationIdentifier

您可以通過使用恢復標識符和目標 C 中的以下代碼來獲取UIViewController的標識符:

NSString *restorationId = self.restorationIdentifier;

希望這會幫助你。

使用restorationIdentifier您可以獲得 nil 值。 還有另一種獲取UIViewController標識符的方法,試試這個

let identifier = String(describing: MyViewController)

但是您需要在情節UIViewController上提供與UIViewController類名稱相同的標識符。 請檢查以下示例

在此處輸入圖片說明

  1. 在相應視圖控制器的故事板檢查器中選中“使用故事板 ID”。

  2. 使用以下代碼:

迅速:

let restorationIdentifier = self.restorationIdentifier

目標-C:

NSString *restorationIdentifier = self.restorationIdentifier;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM