我已經做了一個文本字符串的數組,並希望通過按下一個按鈕,只要按一下就可以將它們拉出到標籤中。所以我有兩個不同的功能/方法,按鈕和滑動方法。在哪裏定義NSArray以及在哪裏定義按鈕操作?
我在哪裏以及如何定義數組,以便這些方法可以引用它?它應該是'外部NSArray'嗎?
我已上載的全碼外http://s1.postimg.org/b2e3m4v67/Sk_rmbillede_2014_05_11_kl_15_48_28.png 不知道但如果這是一些規則違反了這裏(?)
我已經做了一個文本字符串的數組,並希望通過按下一個按鈕,只要按一下就可以將它們拉出到標籤中。所以我有兩個不同的功能/方法,按鈕和滑動方法。在哪裏定義NSArray以及在哪裏定義按鈕操作?
我在哪裏以及如何定義數組,以便這些方法可以引用它?它應該是'外部NSArray'嗎?
我已上載的全碼外http://s1.postimg.org/b2e3m4v67/Sk_rmbillede_2014_05_11_kl_15_48_28.png 不知道但如果這是一些規則違反了這裏(?)
你想要的報價來改變刷卡/按鈕按下圖像。
在你的按鈕按/刷卡方法你將VC的標籤屬性的文本屬性設置爲Quoteselected。它看起來像Quoteselected是數組Quotes中的一個隨機元素 - 或者至少也許是這樣,因爲隨機數可能是6-10,並且在這些指數的Quotes數組中沒有任何對象 - 所以如果這些數字是隨機函數生成的,你的程序會因索引超出界限錯誤而崩潰。
你可能想要做的是在每個用戶交互上生成一個新的隨機數,然後在那一點改變QuoteSelected的值爲數組索引處的對象。然後將其分配給標籤的文本屬性。
至於定義數組 - 我不會像你這樣做。你在那裏有一個「ivar」,一個實例變量。在iOS上,這些通常是屬性。由於它是外部類不需要知道的「私有」數組,因此我將它聲明爲類擴展的一部分。
所以,
@interface BOViewController()
@property NSArray *quotes;
@end
還要注意我的市值變化,這是更好的風格。
所以,現在你已經聲明瞭一個數組屬性,但是裏面沒有數據。這取決於您如何創建View Controller實例。假設你是在故事板中完成的,它會進入awakeFromNib:或viewDidLoad :(如果你自動實例化VC,你可以把它放在initWithNibName:方法中)。
- (void)viewDidLoad {
[super viewDidLoad];
self.quotes = @[@"Test", @"Number 3"...];
然後,當你想引用類的其他部分的陣列:
self.label.text = self.quotes[0];
請注意,您現有的代碼應該工作,它只是不典型的Cocoa編程風格。
網上有很多這樣的聲明的教程和代碼示例。你試圖找到那些? – dasdom
已經嘗試過搜索是的。但是我發現很難找到準確的東西。一個線程建議在頭文件中定義變量,但是當我嘗試運行它時,導致應用程序失敗 - 所以我跳過了這種方式。 – Simon
任何鏈接將不勝感激。我一直在尋找一個小時,找不到太多有用的東西。 – Simon