我正在为我的应用程序编写首选项,它会在登录时注册它(使用LSSharedItemListAPI).一切顺利,我的应用程序在复选框状态时切换其在用户的登录项中的存在.现在,当用户从"登录项目"中删除应用程序时,我想解决另一个问题Accounts.prefPane.
使用通知监视器我看到分布式通知中心发送com.apple.loginItemsListDidChnage(记住拼写错误)通知,因此我添加了该通知的观察者,其中相同的选择器(即IBAction)处理首选项窗口中的复选框(实际上,[un]从/注册应用程序登录项目).
当我尝试比较将我的应用切换为登录项的操作的发件人类时,会出现问题.使用[sender description]和[sender class]我看到NSConcreteNotification类,但是一旦我尝试对它进行比较 - 代码中断说没有定义这样的类:
if ([[sender class] isEqualTo:[NSConcreteNotification class]]) {
...
}
Run Code Online (Sandbox Code Playgroud)
如果我尝试比较发送者NSNotification- 那么流量不会落入该分支.
也许我在Mac OS X中缺少关于分布式通知的一些基本知识?
运行Mac OS X 10.6.2
我可以像这样设置我的托管对象中的文本...
[editedObject setValue:textField.text forKey:editedFieldKey];
Run Code Online (Sandbox Code Playgroud)
但我无法设置这个......
[editedObject setValue:numberField.text forKey:editedFieldKey];
Run Code Online (Sandbox Code Playgroud)
在XCode模板中,我可以直接将其设置为托管对象,但是这样......
setValue:[NSNumber numberWithInt:200] forKey:@"jCode"];
Run Code Online (Sandbox Code Playgroud)
但我似乎无法通过UITextField设置它...请有人指出我正确的方向...它将是非常高度的...
我正在尝试观察复选框状态,并在复选框状态更改时在应用中进行适当的更改.在使用复选框管理窗口的窗口管理器中,我有以下观察者设置:
- (void)awakeFromNib
{
[myCheckBox addObserver:self
forKeyPath:@"state"
options:(NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld)
context:NULL];
}
- (void)dealloc
{
[myCheckBox removeObserver:self forKeyPath:@"state"];
}
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
NSLog(@"KeyPath: %@", keyPath);
NSLog(@"ofObject: %@", object);
NSLog(@"change: %@", change);
}
Run Code Online (Sandbox Code Playgroud)
我还将myCheckBox连接到文件所有者(窗口控制器)到窗口中的相应复选框.但是,当我运行我的app observeValueForKeyPath:ofObject:change:context:方法时,从未调用过.
我究竟做错了什么?
如下所示,我有一个带右键的注释视图.当用户点击右键时我会出现一个弹出窗口 - 问题是我不知道用户点击的位置,所以我没有X和Y来显示弹出窗口.
如何找出用户点击的位置,即X和Y?
HotelAnnotationView *customPinView = [[HotelAnnotationView alloc] initWithAnnotation:theHotel reuseIdentifier:hotelPin];
//The right button which allows user to see hotel information
UIButton* rightButton = [UIButton buttonWithType:UIButtonTypeInfoLight];
[rightButton addTarget:self action:@selector(showDetailsForHotel:) forControlEvents:UIControlEventTouchUpInside];
rightButton.tag = theHotel.id;
customPinView.rightCalloutAccessoryView = rightButton;
Run Code Online (Sandbox Code Playgroud) 我有问题,我UIScrollView不滚动我不认为这是iphone模拟器的问题.这是我的构建方式UIScrollView:
[scrollView setBackgroundColor:[UIColor blackColor]];
[scrollView setCanCancelContentTouches:NO];
scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
scrollView.clipsToBounds = YES; // default is NO, we want to restrict drawing within our scrollview
scrollView.scrollEnabled = YES;
Run Code Online (Sandbox Code Playgroud)
然后我添加UILabel它,后来我从xml中添加了一些信息.
labeL = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 1000)];
labeL.numberOfLines = 0;
labeL.text =@"";
[scrollView addSubview:labeL];
Run Code Online (Sandbox Code Playgroud)
这是我如何增加价值UILabel:
vypisObratString = [[NSMutableString alloc] initWithString:labeL.text];
if (turnOver) {
turnOver = NO;
[vypisObratString appendString:@"----------------"];
[vypisObratString appendString:@"\n"];
labeL.text = vypisObratString;
}
Run Code Online (Sandbox Code Playgroud)
但是当我编译程序时,它会写入corect值,但最后一行是这样的:
12.1.2010...
Run Code Online (Sandbox Code Playgroud)
而且它不会滚动.为什么?我错过了什么?
假设情景:
在我的viewDidLoad方法中,我将视图控制器添加为自定义通知(例如,通知MyFooNotification)的观察者.稍后在加载视图的过程中,通知将被发布,控制器将对其进行处理.当我离开控制器时,我不会删除观察者(故意)viewDidUnload.下次打开视图时,观察者会再次添加,但现在当观察到的通知发布时 - 我明白了EXC_BAD_ACCESS.
任何人都可以解释为什么会这样.
PS我知道我应该删除它,viewDidUnload我只是对较低级别的细节感到好奇.
我打算使用Core Data来存储由具有属性的对象组成的静态数据列表(例如object = person,attributes = weight,height等).
关于什么是最好的方法来建议?我应该使用什么原始文件格式以及将原始文件中的数据加载到核心数据的最佳方法是什么?
感谢任何建议和帮助
如何在目标C中获得过去的约会?喜欢,
NSDate *pastDate = //some date 2 weeks ago
Run Code Online (Sandbox Code Playgroud) 我正在创建许多变形的UIBezierPaths.我需要计算UIBezierPath的宽度和高度.我怎样才能做到这一点?
我的应用程序已打开iTunes文件共享,当用户在iTunes中添加文件时,它应该能够检测到.
Application Delegate中的以下函数用于调用,但不再是:
- (void)applicationDidBecomeActive:(UIApplication *)application
Run Code Online (Sandbox Code Playgroud)
有替代解决方案吗?
objective-c ×6
ios ×4
cocoa ×3
core-data ×2
iphone ×2
itunes ×1
macos ×1
nsbutton ×1
nsnumber ×1
preferences ×1
static ×1
uibezierpath ×1
uilabel ×1
uiscrollview ×1
uitextfield ×1
xcode ×1