這個代碼,我不明白,Objective-C的從蘋果公司的主詳細模板採取以下方法:無法讀取蘋果模板
- (void)insertNewObject:(id)sender
{
if (!_objects)
{
_objects = [[NSMutableArray alloc] init];
}
[_objects insertObject:[NSDate date] atIndex:0];
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0
inSection:0];
[self.tableView insertRowsAtIndexPaths: @[indexPath]
withRowAnimation: UITableViewRowAnimationAutomatic];
}
的代碼是在MasterViewController.m文件。對我而言,困惑之處在於: - @[indexPath]
是什麼意思?這是一個用於創建數組的語法。我只碰到'@'作爲表示字符串的字符。澄清:我明白NSIndexPath是什麼以及它的功能。我不熟悉用@字符開頭的括號中的對象的語法。這是否是一個數組?如果我有幾個NSIndexPaths呢?我可以用這種方式將它們全部加載到數組中@ [indexPath1,indexPath2,indexPath3]這是否適用於派生自NSObject的任何內容?結果總是一個數組?這是用什麼語言記錄的 - 這個語言特性叫什麼(所以我可以查看它)?
- 該方法insertRowsAtIndexPaths:withRowAnimation似乎指定的位置放入表中的東西,但不完全是放什麼。在向表格中插入項目時,該方法如何知道將什麼對象用作數據源。委託和數據源關係在xib中指定,因此很顯然MasterViewController將處理數據與表的關聯,但似乎與
NSMutable *_objects;
數組和表中指定的表沒有任何關係。
感謝您的解釋,因爲它很明顯我缺少一些非常基本的東西。
*「我不明白C++」* - 你的意思是Objective C嗎? – Pubby
@ Pubby是的,謝謝。我將解決問題 – StoneBreaker