看板 MacDev 關於我們 聯絡資訊
小弟近期在撰寫ObjC APP 本身是大學相關科系 所以相關知識都還可以 但由於系上沒有本課程 貌似也沒有老師會 所以遇到問題都只能Google 目前所遇到的問題是 記憶體管理、內存崩潰、StoryBoard之間參數傳遞選擇 問題一 --------------------------------------------------- 我有一個Navigation A寫了自定義Button Push View B UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil]; LocationWebView *lvc = [storyboard instantiateViewControllerWithIdentifier:@"LocationWebView"]; [self.navigationController pushViewController:lvc animated:YES]; 程式碼大概是這樣 因為MAC暫時不在身邊 無法拿自己的程式碼 而B也寫了一個返回Button [[self navigationController] popViewControllerAnimated:YES]; 但是返回A後 B的內存並沒有被釋放 所以只要不停的A>B>A>B>A>B 使用記憶體就會持續上升 希望能指點一下 問題二 ------------------------------- 或許這部分我應該自己去處理 要是您太熱心的話 就回答吧 對於@property (XXX,XXX) 我應該怎麼判斷 什麼樣的物件 適合選擇什麼樣的計數器? 現階段而言 所需要的東西都是網路上複製的..... 問題三 ------------------------------------ 兩個StoryBoard之間 要傳遞參數 該採用哪種方法? 我目前大多都使用 extern 來傳遞 但缺點是 必須在程式第一個.h檔內就宣告好 好像不太符合邏輯 也有使用過Userdefault來存取 這個好像適用於存取使用者設定之類的比較妥當 而近日才知道 delegate 委派 好像也有用類別來傳取的方法 請問各位大多都使用哪種方法? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.116.46.42 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1448986352.A.9D8.html
shinrenpan: 只回答1,B是否有 block retain cycle 問題 12/02 00:43
hearther: 太多中國用語看不懂 物件? 計數器? 12/02 01:50
hearther: Extern我也看不懂是啥?不是c 才有extern嗎? 12/02 01:52
LFimi: 3.在prepareForSegue傳值給segue.dest的 public property 12/02 09:30
LFimi: 啊 , 你是兩個storyBoard 12/02 09:31
kyo017baby: 好多中國用語,看無 ... 12/02 09:56
abcdefghi: 只有 '內存' 是中國術語吧,其他的台灣也很常用 12/02 10:26
darktt: 1. B沒釋放是有可能他裡面的物件沒正確的釋放導致的 12/02 11:00
boy19931118: 可能是查中國資訊的關係 抱歉 extern我也是上網查到 12/02 11:41
boy19931118: 可以使用 但是希望能夠正規一點 不要亂用 12/02 11:41
boy19931118: darktt 因為是在ARC下 不能release 只能將有alloc的o 12/02 11:42
boy19931118: j=nil 這樣算釋放? 12/02 11:42
darktt: 是,就只能這麼做 12/02 13:05
EQQD: Swift向你招手 12/02 19:17
sdcomputer: 1. 如darktt大所說 2.看不懂 3.我的話會用delegate 12/02 21:53
otaku5566: 2問的是property attribute? 12/03 03:40
tom19830924: 在B裡面寫dealloc看有沒有被呼叫到看看 12/03 16:36
tom19830924: 沒被呼叫到可能是B裡面的東西被其他物件持有釋放不了 12/03 16:36
boy19931118: test 12/04 13:00