簡體   English   中英

我如何從用戶輸入的NSString創建類的新對象

[英]How would i create an new object of my class from a user inputed NSString

我想使用NSString形式的用戶輸入名稱來創建類的新實例。 我見過NSClassFromString,但我不明白。 我的最終目標是讓用戶輸入費用的名稱,然后使用該輸入的名稱(存儲在NSString變量中)創建類的新實例。 然后,用戶將輸入一些其他內容,這些內容將設置新對象的實例變量。

所有這些都將處於一個循環中,在該循環中,用戶將能夠創建所需數量的新對象,並將這些對象存儲在數組中以供以后存儲和使用。 但是我仍然堅持如何動態創建類的新實例。

您嘗試創建哪種對象? 您是否始終要創建相同類型的對象,還是要讓用戶輸入對象類型並創建該類型的對象?

如果要始終創建相同類型的對象並將其屬性之一設置為用戶輸入的字符串,這很容易。

將UITextField和按鈕添加到視圖控制器。 在按鈕的操作方法中,從文本字段獲取文本值,然后使用該值來設置對象中的文本:

MyObject *anObject = [[MyObject alloc] init];
anObject.stringProperty = theTextField.text;

如果希望用戶能夠輸入班級名稱,請不要輸入。 那太脆弱了。 用戶可以輕松地為一個類輸入一個類名,這將導致您的應用程序表現異常,甚至崩潰。 您將為此使用NSClassFromString,但是讓用戶指定類名是一個非常糟糕的主意。 不要這樣

而是讓用戶從不同選項的列表中進行選擇(使用按鈕,表格視圖,步進器或其他方式),然后使用switch語句創建所請求類型的新對象。 對於用戶可以創建的每種受支持對象類型,都有一個案例。

暫無
暫無

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

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