2010-01-20 114 views
0

我想將我的應用程序設置爲免費版本,並在應用程序購買時將其解鎖,以便獲得更多曝光度。免費版本應該是有限的,這是我的問題。免費版限制應用程序(應用程序內購買)

我的應用程序大量使用核心數據並創建免費版本,我只是想將每個tableview中顯示的所有記錄限制爲1行,或者如果有其他人有更好的想法,那些工作也是如此。

我一直在試圖設置我的numberOfRowsInSection返回1,但每次我添加一些東西,我得到一個範圍異常,因爲我正在使用fetchedResultsController。有任何想法嗎?

這是我的部分和行代碼:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
return [[fetchedResultsController sections] count];} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 

id <NSFetchedResultsSectionInfo> sectionInfo = [[fetchedResultsController sections] objectAtIndex:section]; 
return [sectionInfo numberOfObjects];} 

回答

0

你可以在你的didSelectRow方法處理這個問題。如果該行不是0,則拋出一個UIAlertView,解釋如何購買應用程序以使用完整版本。這也會向用戶顯示更多的內容存在。我似乎記得蘋果不喜歡廣告的完整版本,但我也看到了很多,所以我想現在好了。

2

NSFetchRequest上使用-setFetchLimit:。如果你將它設置爲1,那麼NSFetchResultController將只給你一行。

0

我也做馬庫斯建議以上:

if(!appDelegate.fullVersion){ 

    [fetchRequest setFetchLimit:10]; 
    NSLog(@"only fetching 10 as not full version"); 
} 

我檢查的appDidFinishLaunching完整版,並保持在一個的appDelegate BOOL。

確保您添加setFetchLimit:在您希望使用的謂詞之後。

相關問題