- 浏览: 903975 次
- 性别:
- 来自: 上海
最新评论
-
hujingnemo:
不知道为什么打不开
CHM如何改编字体大小 -
weiboyuan:
求答案 weiboyuanios@163.com
iOS软件工程师面试题(高级) -
xueji5368:
这个现在已经广泛使用了嘛!
RoboGuice入门 -
Yao__Shun__Yu:
...
CHM如何改编字体大小 -
353144886:
非常之详细 美女求认识
sqlite数据类型 datetime处理
文章列表
You might want to add aliases to your shell's resource file to make it
easier to access commonly used programs such as `mysql' and
`mysqladmin' from the command line. The syntax for `bash' is:
alias mysql=/usr/local/mysql/bin/mysql
alias mysqladmin=/usr/local/mysql/bin/mysqladmin
mac mysq ...
#import <Foundation/Foundation.h>
@interface Sample : NSObject {
SEL action;
id target;
}
@property SEL action;
@property (assign) id target;
-(void)addTarget:(id) t action:(SEL) s;
-(void)sample_dosomthing;
@end
#import "Sample.h"
@implementation ...
我们知道在Cocoa程序中, 如果你想处理一个窗口的事件或者应用程序的事件, 你可以使用Delegate的方法来实现响应的事件处理函数,但是如果你要处理一个button控件或者一个窗口里面很多的类似Button的这种有一种缺省行为的控件的时候, 是不是要为他们每个控件都来实现这个Delegate呢?答案是否定的,因为针对这些具有指定的缺省行为的控件,NSControl已经帮我们进行了一部分的处理(这个control要求继承自NSActionCell, 比如你添加一个Button到窗口中,那么对Button的Click事件,NSControl是有自己的处理的,这就是Target-Action模式, ...
//storyboard版本兼容
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// 1
UIStoryboard *mainStoryboard = nil;
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"6.0")) {
mainStoryboard = [UIStoryboard storyboardWithName:@ ...
在使用UITableView的时候会遇到出现许多无用的separator的情况,若想解决这个问题,只需将table view的footer设为一个空的view。例如:
UIView *v = [[UIView alloc] initWithFrame:CGRectZero];
[tableView setTableFooterView:v];
NSMutableAttributedString *attriString = [[NSMutableAttributedString alloc] initWithString:@"范例范例范例范例范例范例范例范例范例范例"];
[attriString addAttribute:(NSString *)kCTForegroundColorAttributeName
value:(id)[UIColor redColor].CGColor
range ...
模型类
一个好的模型类应该使用独立于表现层的方式封装数据,模型类应该只引用其他模型类,不应该收用视图或控制器。模型类可能有一个委托恰好是一个控制器,但应该使用协议实现,这样它便不必引用特定的控制器。
在模型类中请尽量使用不可变的对象,不可变对象可以通过调用retain实现copy。因为对象无法改变,你不必创建一个真正的副本。
模型类是系统中最容易测试和重用的类,设计好它们是提高代码整体水平的最好方法。
视图类
视图类负责与用户交互,它们提供信息接受用户事件。可有一个恰好是控制器的委托。
硬件优化的轻量级视图类一般叫“layer”。
视图负责从用户接受事件,但不处理它们。当用户触碰视 ...
@implementation UINavigationBar (CustomBackground)
- (UIImage *)barBackground
{
return [UIImage imageNamed:@"login_nav_bg.png"];
}
- (void)didMoveToSuperview
{
//iOS5 only
if ([self respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)])
{
[self setBackgr ...
- (void)viewDidLoad {
[super viewDidLoad];
// add viewController so you can switch them later.
UIViewController *vc = [self viewControllerForSegmentIndex:self.typeSegmentedControl.selectedSegmentIndex];
[self addChildViewController:vc];
vc.view.frame = self.contentView.bou ...
生成器模式和抽象工厂模式的比较
- 博客分类:
- 设计模式
生成器关注的是分步创建复杂对象,很多时候同一类型的对象可以以不同的方式创建,而抽象工厂的重点在于创建简单或复杂的一整套组件。
生成器在多步创建过程的最后一步返回产品,而抽象工厂则立即返回产品。
生成器 构建复杂对象,以多个步骤构建对象,以多种方式构建对象,在构建过程的最后一步返回产品,专注一个特定的产品。
抽象工厂 构建简单或复杂对象,以单一步骤构建对象,以单一方式构建对象,立刻返回产品,强调一套产品。
1.系统默认的颜色设置
[cpp] view plaincopy
//无色
cell.selectionStyle = UITableViewCellSelectionStyleNone;
//蓝色
cell.selectionStyle = UITableViewCellSelectionStyleBlue;
//灰色
cell.selectionStyle = UITableViewCellSelectionStyleGray;
2.自定义颜色和背景设置
改变UITab ...
通到取得在tableView中的位置,取得所在indexPath
- (IBAction)cellButtonTapped:(id)sender { UIButton *button = sender;
CGPoint correctedPoint =
[button convertPoint:button.bounds.origin toView:self.tableView]; NSIndexPath *indexPath =
[self.tableView indexPathForRowAtPoint:correctedPoint]; NSLog(@"Button tap ...
CocoaPods是用于iOS第三方库管理的辅助工具。
在你成功配置了CocoaPods之后,点Command+U进行单元测试,可能会遇到
SomeLibrary.h not found的错误。
想修正这个错误
Project > Info > Configurations > change Based on Configuration File to Pods
修正了这些,有时还会有些.m的文件由于没有加入到测试的项目中,点击右侧加入到测试的项目中就可以了。
2. 应用主目录文件分析
App store应用存放在/private/var/mobile/Application/[GUID]中
(1)Documents文件夹
用户存档文件,检查是否有不安全的文件存储,例如明文存储,base64编码存储,可以用iToolsGUI工具检查
(2)Library文件夹
1)Library/Prefere ...
甲:那个产品经理,傻逼吧?
乙:是啊。
甲:他带的那些策划也很傻逼。
乙:是啊。
甲:他写的东西都纯傻逼。
乙:是啊。
甲:招这种人来到底干什么?看来人事也是傻逼。
乙:是啊。
甲:我觉得老板能忍他们这么久,也是傻逼。
乙:今儿这个怎么这么咸啊。
甲:呵呵。
乙:呵呵。