小编jam*_*rns的帖子

ios在segue期间将值传递给另一个视图

试着做一些我见过很多地方记录的事情,但似乎无法管理.我想在segue期间将数据从一个视图传递到另一个视图.

这是源视图中的prepareForSegue方法:

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{

    //pass values
DetailViewController *dest = (DetailViewController *)[segue destinationViewController];

dest.locTitle = [value valueForKeyPath:@"title"];
dest.locInfo = [value valueForKeyPath:@"info"];



// NSLog(@"The title is: %@, and the info is: %@.",dest.locTitle,dest.locInfo);

}
Run Code Online (Sandbox Code Playgroud)

如果我最后启用NSLog,我会看到正确的值...

这是目标视图上的接口:

#import <UIKit/UIKit.h>

@interface DetailViewController : UIViewController{

}

@property (strong, nonatomic) NSString *locTitle;
@property (strong, nonatomic) NSString *locInfo;
@property (weak, nonatomic) IBOutlet UILabel *detailMainText;
@property (weak, nonatomic) IBOutlet UILabel *detailTitle;

@end
Run Code Online (Sandbox Code Playgroud)

...这里是目标视图上的viewDidLoad和相关的@synthesize:

@synthesize detailMainText,detailTitle,locTitle,locInfo;

- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"In viewDidLoad - …
Run Code Online (Sandbox Code Playgroud)

ios uistoryboard segue

27
推荐指数
2
解决办法
3万
查看次数

从带有属性的NSObject转换为NSDictionary的Obj-C简单方法?

我遇到了一些我最终想到的东西,但认为可能有一种更有效的方法来实现它.

我有一个对象(一个采用MKAnnotation协议的NSObject),它有许多属性(标题,副标题,纬度,经度,信息等).我需要能够将此对象传递给另一个对象,该对象希望使用objectForKey方法从中提取信息,作为NSDictionary(因为这是从另一个视图控制器获取的内容).

我最终做的是创建一个新的NSMutableDictionary并在其上使用setObject:forKey来传输每条重要信息,然后我只传递新创建的字典.

有没有更简单的方法来做到这一点?

这是相关的代码:

// sender contains a custom map annotation that has extra properties...

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{    
    if ([[segue identifier] isEqualToString:@"showDetailFromMap"]) 
{
    DetailViewController *dest =[segue destinationViewController];

    //make a dictionary from annotaion to pass info
    NSMutableDictionary *myValues =[[NSMutableDictionary alloc] init];
    //fill with the relevant info
    [myValues setObject:[sender title] forKey:@"title"] ;
    [myValues setObject:[sender subtitle] forKey:@"subtitle"];
    [myValues setObject:[sender info] forKey:@"info"];
    [myValues setObject:[sender pic] forKey:@"pic"];
    [myValues setObject:[sender latitude] forKey:@"latitude"];
    [myValues setObject:[sender longitude] forKey:@"longitude"];
    //pass values
    dest.curLoc = myValues; …
Run Code Online (Sandbox Code Playgroud)

objective-c nsdictionary ios

14
推荐指数
3
解决办法
2万
查看次数

iOS 6社交框架无法进行设置或无法提醒

我正在尝试在iOS6中实现新的社交框架,并让它工作,除了2个奇怪的问题.如果我启用了我感兴趣的服务(例如...... FaceBook),那么它可以正常工作.但是,如果从设置面板中删除帐户(让我们说FaceBook,为了保持一致),那么我会在模拟器和设备中获得不同的,令人沮丧的行为.

这是我的视图控制器中的相关代码:

//Method for FaceBook

- (IBAction)doFacebook:(id)sender{
//check to see if facebook account exists
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {

    // Create the view controller defined in the .h file

    fb=[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

    // make the default string
    NSString *FBString= [NSString
                         stringWithFormat:@"%@\r via #GibberishGenerator", gibText.text];
    [fb setInitialText:FBString];
    // show the controller
    [self presentViewController:fb animated:YES completion:nil];

    }
}
Run Code Online (Sandbox Code Playgroud)

在解雇上述方法时,这是一种奇怪的行为:

模拟器(版本6.0(358.4)中,我得到对话框通知我没有使用"设置"和"取消"按钮设置任何faceBook帐户.点击"设置"只是取消对话框,但不带我到设置面板.

运行6.01的iPhone 4s上,点击触发该方法的按钮会导致......什么都没有.换句话说,我没有通知对话通知我必须设置一个FaceBook帐户.

在此先感谢您的帮助.


好的......这是修复:

这是我的新实现,基于user1734802的有用评论.

//Method for FaceBook

- (IBAction)doFacebook:(id)sender{

    // Create the view controller defined in the .h …
Run Code Online (Sandbox Code Playgroud)

facebook ios6 social-framework

14
推荐指数
1
解决办法
7667
查看次数

使用canDisplayBannerAds时设置委托

我一直在努力让(横幅)iAds正确地显示在iPhone,并且iPad只是显示iPhone应用程序(按比例放大).我仍然不知道如何解决这个问题,并且没有发现其他人遇到这个问题.

然后我注意到,iOS7有一种方法可以在应用程序中自动使用横幅广告,方法是:

self.canDisplayBannerAds=YES:
Run Code Online (Sandbox Code Playgroud)

......在viewDidLoad方法中.这似乎是一种很酷,简化的横幅实现方式,但在使用这种自动化方法时却没有弄清楚如何设置委托.可以这样做,还是你必须做更多的手动方法来创建adBannerView,设置委托,然后实现委托方法?

ios iad ios7

5
推荐指数
1
解决办法
1690
查看次数

检测NSMutable Array中包含的重复自定义对象

我读过的每一个类似的问题,但已经确定无论我在做一些愚蠢的事(可能),或者我不掌握NSArray方法containsObject:

我正在尝试设置UITableView包含已保存的"收藏夹"的内容; 保存为名为"MapAnnotations"的自定义类的位置.这包含坐标,标题,信息字段和其他一些参数.我成功地从一个NSUserDefaults实例保存/检索它,但似乎无法成功检测到我的重复对象NSMutableArray.

这是相关的代码:

-(void)doSetUp
{
//load up saved locations, if it exists

NSUserDefaults *myDefaults = [NSUserDefaults standardUserDefaults];

//if there are saved locations
if ([myDefaults objectForKey:@"savedLocations"]) {

    NSLog(@"file exists!");

      //get saved data and put in a temporary array
    NSData *theData = [myDefaults dataForKey:@"savedLocations"];
      //my custom object uses NSCode protocol
    NSArray *temp = (NSArray *)[NSKeyedUnarchiver unarchiveObjectWithData:theData];
    NSLog(@"temp contains:%@",temp);
      //_myFavs currently exists as a NSMutableArray property
    _myFavs = [temp …
Run Code Online (Sandbox Code Playgroud)

objective-c nsmutablearray ios

2
推荐指数
1
解决办法
447
查看次数

如何在Objective-C/iOS中可靠地排序命令

我正在努力尝试在这里找到一些东西,并且可以使用一些指针.编写具有Web视图的应用程序.我希望它从一定距离开始,找到用户位置,并放大到该点,居中,然后添加地图注释.

我理解每个要求的机制,但是对它们进行排序时遇到问题,以便它们按顺序发生.由于Obj-C的并发性,我不能依赖于下一次启动之前完成的任务.

我正在寻找能让我完成一项任务的解决方案,完成后再做,等等.我认为这将涉及块,但我只是学习这一切,他们让我头晕目眩.

我很感激任何建议.提前致谢.

objective-c ios objective-c-blocks

0
推荐指数
1
解决办法
938
查看次数