所以我抓住從外地用戶名,將其保存在一個NSString變量:保存[NSTextField stringValue] ...變量在我的窗口關閉時被清除?
loggedInUser = [usernameField stringValue];
[loginWindow close];
後來,我嘗試訪問loggedInUser
數據:
NSLog(@"Logged in User:%@", loggedInUser);
這通常,但並非總是如此,給人一個錯誤:
Program received signal: "EXC_BAD_ACCESS". // Summary displays "{...}" for the value
loggedInUser
NSString被清除了嗎?發生了什麼? (我從來不會修改這個值)。
我唯一的想法是,我以某種方式保存NSString中NSTextField的值繼續。然後,當我關閉窗口時,該值被清除。
這是怎麼回事?如何以安全的方式保存Textfield值以便繼續使用?
如果你在談論NSTextFields,爲什麼你有這個標籤可可觸摸和ios標籤? –
當您創建並顯示窗口時,['[yourWindow isReleasedWhenClosed]'](http://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSWindow_Class/Reference/Reference。 html#// apple_ref/occ/instm/NSWindow/isReleasedWhenClosed)return?我懷疑你的窗口(以及它的內容)在關閉後立即被釋放。 –
@MichaelDautermann,爲什麼'isReleasedWhenClosed'屬性很重要?我猜這就是這個問題的關鍵。我將用戶名文本數據保存到全局(這是正確的術語?)NSString。所以在我將它保存在那裏之後,爲什麼我對原始字符做什麼? – cksubs