自上次打开应用程序以来,iOS中是否有任何方式可以获取有关通讯簿更改的通知.
应用程序将地址簿存储在内部数据库中,我不希望每次激活时都执行完全同步.
提前致谢.
澄清问题的小补充:我使用ABAddressBookRegisterExternalChangeCallback观察应用程序暂停到后台时的更改,但据我所知,如果应用程序完全关闭并重新打开(例如:电话重启或从任务列表关闭后),此方法无法工作).
最近,我正在清理我的课程,这个课程有很多未使用的方法和变量.当我构建我的项目时,xCode发出警告Incomplete implementation.这个课很庞大,我花了很多时间才找出哪个方法没有实现.m.为了防止将来在这个警告上花费这么多时间,我想知道是否有更快的方法来找出未实现的方法.我可能会遗漏xCode的一些内置功能!
编辑 -(从答案)如果您觉得需要可视化要做的事情,请看一下:

首先,单击断点选项卡中的警告,以在黄色选项卡中查看警告详细信息,如下所示.只需单击突出显示的部分,您将直接进入不完整的方法.
我在使用带有iPhone应用程序的CGContext时遇到了一些麻烦.我试图绘制几条不同颜色的线条,但所有的线条总是最终具有最后使用的颜色.我尝试了几种方法,但并不幸运.
我设置了一个小样本项目来处理这个问题.这是我的代码,我在drawRect方法中使用.我想画一条红线和一条蓝线:
- (void)drawRect:(CGRect)rect{
NSLog(@"drawrect!");
CGContextRef bluecontext = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(bluecontext, 2.0);
CGContextSetStrokeColorWithColor(bluecontext, [UIColor blueColor].CGColor);
CGContextMoveToPoint(bluecontext, 1, 1);
CGContextAddLineToPoint(bluecontext, 100, 100);
CGContextSetStrokeColorWithColor(bluecontext, [UIColor redColor].CGColor);
CGContextAddLineToPoint(bluecontext, 200, 100);
CGContextStrokePath(bluecontext);
}
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助
我知道如何将添加UISegmentedControl到UIToolBar从内部IB,但我想以编程方式做同样的,因为我使用的自定义子类UISegmentedControl有没有一个XIB.
这是以下代码UISegmentedControl:
SVSegmentedControl *navSC = [[SVSegmentedControl alloc] initWithSectionTitles:[NSArray arrayWithObjects:@"List", @"Calendar", nil]];
navSC.delegate = self;
[self.view addSubview:navSC];
[navSC release];
navSC.center = CGPointMake(160, 70);
Run Code Online (Sandbox Code Playgroud)
我想做的事情[self.toolbar addSubview:navSC],但没有显示任何东西.
我需要自己编写一些util类,我需要android app的packagename.虽然我发现packageManager只能用于具有上下文的Activity等.我只想在我的类中获取packagename,这将在android应用程序中使用.那我该怎么做呢?谢谢!
我有try- catch块,我希望break像switch块,但我找不到这样做的推荐方式.我在try- catch块中获取了大量数据,并且希望在满足某个条件的情况下停止其间的提取.为了让它现在正常工作,我故意强迫代码进入catch块:
int i=0;
try {
//--do stuff----
if(//-------is condition met?--------//)
i = 1/0; // divide 1 by 0 -- a definite exception
}
catch (Exception e) {//---------do nothing---------//}
Run Code Online (Sandbox Code Playgroud)
这样做是否安全还是我应该采取其他方式?
编辑:我正在获取一些xml数据(实际上,很多).根据互联网连接,我需要在某个时间(超时)之后停止解析,而不是通过整个流.我经历了循环,但我稍后也做了一些计算.用不完整的数据计算没有任何意义,所以我宁愿跳过整个事情.
我正在根据touchesMoved:方法绘制线条,通常它工作正常.但是当我放大图像并绘制时,先前绘制的线条都会移位并且越来越模糊,最终消失.我已经尝试使用UIPinchGestureRecognizer,只是增加frame的myImageView(仅适用于多点触摸事件),但出现问题两种方式.这是绘图的代码:
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
NSArray *allTouches = [touches allObjects];
int count = [allTouches count];
if(count==1){//single touch case for drawing line
UITouch *touch = [touches anyObject];
CGPoint currentPoint = [touch locationInView:myImageView];
UIGraphicsBeginImageContext(myImageView.frame.size);
[drawImage.image drawInRect:CGRectMake(0, 0, myImageView.frame.size.width, myImageView.frame.size.height)];
CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 2.0);
CGContextBeginPath(UIGraphicsGetCurrentContext());
CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y);
CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), currentPoint.x, currentPoint.y);
CGContextStrokePath(UIGraphicsGetCurrentContext());
drawImage.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
lastPoint = currentPoint;
}
else{//multi touch case
// handle pinch/zoom
}
}
Run Code Online (Sandbox Code Playgroud)
这是在没有缩放的情况下绘制的图像:

这是用放大后用红色箭头表示已经在放大之前绘制的片段(如上图所示)中描述问题的图像.图像模糊不清:

还可以注意到,朝向末端绘制的线的一部分不受影响,并且对于及时拉回的线发生现象.我相信这样做的原因是当我放大/缩小时图像尺寸属性会丢失,这可能会导致模糊和移位,但我不确定!
编辑 - …
我想知道CF数据结构(CFArray,CFDictionary等)和NS数据结构(NSArray,NSDictionary等)之间究竟有什么区别.我一直在使用大多数NS类,但我发现CF类具有更好的性能并且比NS类具有一些优势.如果有人能够深入解释利弊,我将不胜感激.
我想用反余弦函数计算由三个点(其中一个点是两条线的交点)形成的两条线之间的角度,如下所示:
CGFloat a = initialPosition.x - origin.x;
CGFloat b = initialPosition.y - origin.y;
CGFloat c = currentPosition.x - origin.x;
CGFloat d = currentPosition.y - origin.y;
CGFloat angle = (180/M_PI) * acosf(((a*c) + (b*d)) / ((sqrt(a*a + b*b)) * (sqrt(c*c + d*d))));
Run Code Online (Sandbox Code Playgroud)
不幸的是,acosf仅返回介于0和pi之间的值.如何找到介于0和2*pi之间的值(例如,以逆时针方式)?
我有关于循环的问题.我需要访问10个标签,这些标签的名称类似于label1,label2,label3 ......等等.我需要知道是否可以通过java中的循环访问这些标签?
ios ×5
iphone ×5
java ×3
objective-c ×2
addressbook ×1
android ×1
blackberry ×1
break ×1
cgcontext ×1
draw ×1
inverse ×1
line ×1
loops ×1
pinch ×1
trigonometry ×1
try-catch ×1
uiimage ×1
uitoolbar ×1
warnings ×1
xcode ×1