itec-elwg / ios-study Goto Github PK
View Code? Open in Web Editor NEWELWG学习iOS同学的Github聚集地=。=
ELWG学习iOS同学的Github聚集地=。=
@interface SNItemViewController : UITableViewController<UISearchBarDelegate,UITableViewDelegate,UITableViewDataSource>
@property (nonatomic,strong) FMDatabase *db;
少了空格。#pragma mark table中内容的显示
写法不对,代码怎么看的。tableView:(UITableView *)tableView numberOfRowsInSection
会调用很多次,不能在这里反复赋值,self.data = [[SNItem sharedStore] allItems];
,自己找资料搞清楚UITableView机制。(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
里面重复调用initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"UITableViewCell"]
有问题。NSString *subTitle = [NSString stringWithFormat:@"[%@]: %@", cellItem.dateCreated, cellItem.detailText];
反复创建,没有必要。NSString *text;
if (self.isFiltered)
{
text = self.filterData[indexPath.row];
}
else
{
text = self.data[indexPath.row];
}
createToolbarItems
为何要反复调用?- (void)addNewItem
函数位置放错。[NSArray arrayWithObjects:space, home, space, nil]
用@[]创建,Effective Objective-C怎么看的。- (instancetype)setViewController
方法定义有问题。UIBarButtonItem *bbi
命名不对!!!static NSString *const TITLE = @"title";
命名应该是DB_COLUMN_NAME_TITLE,或者SNDBHelperTitleColumnName,规范规范!self.dispachQueue = dispatch_queue_create("newThread", NULL);
创建有问题,自己查。- (SNItem *)createItem
这种方法应该是静态的,什么时候该静态什么时候不该分清楚。SNItem
里面又有allItems,这种封装办法非常错误,非常错误。.gitignore
文件!这个必须有!#pragma mark -
组织代码,现在的代码很乱。ItemViewController
里面的IBOutlet
用错了,IBOutlet
是为了跟Xib、StoryBoard链接的,自定义的View不用这个。footerView
的getter方法完全用错了,从Nib文件载入没有保存,这样每次调用footerView
都会重新创建。@property
定义。initWithStyle
写法错误,Objective-C的init系列方法有严格的写法定义。registerClass
过cell的类以后,在cellForRowAtIndexPath
里面不用再判断cell是否为空,自己去查看标准的UITableView的用法。pushViewController
在新的viewController初始化、设置完成以后才调用。static
内部静态变量的初始化有严格的写法,要用dispatch_once写。NSDateFormatter
类的创建非常耗时,尽量只创建一次,并且延时创建。ItemStore
类感觉没有必要。数据库类、数据库操作重新设计!
SQLiteDatabase db = noteDB.getWritableDatabase();
然后直接操作数据库是不对的!第一是阻塞主线程,第二是类的职责划分不对!SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
每次都创建,不对!private static final
DB_TABLE_NAME
,DB_COLUMN_ID
,自己搜索Java的常量命名规则NoteView
类居然是Activity,这个非常不对com.yx.yxnote.db
下面__MACOSX
目录,仔细查阅在Mac环境下,iOS开发中gitignore的规范// 点击 cancel 时去掉 mask ,reloadData
searchBar.text = @"";
[searchBar setShowsCancelButton:NO animated:YES];
self.tableView.allowsSelection = YES;
self.tableView.scrollEnabled = YES;
[searchBar resignFirstResponder];
self.mask.alpha = 0;
self.isFiltered = NO;
[self.tableView reloadData];
self.navigationController.toolbarHidden = NO;
这种应该按照self、searchBar、tableView的分开写,而不是一行这个一行另一个,并用空行分开,其他地方也是如此
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.