需要帮助将深度链接路由集成到 Xcode 项目 Obj-C 中的内容

凯文

当我尝试将 Branch 的深层链接路由添加到我项目中的内容时,我遇到了两个问题。

  1. 需要从数组中找到 itemid。目前,我在 homepage.m 中显示来自 homePageArray 的项目列表,当用户单击项目显示时,它会根据所选索引将它们重定向到 ItemDetailPage。

    ItemDetailPage * itemDetailPageObj = [[ItemDetailPage alloc]initWithNibName:@"ItemDetailPage" bundle:nil];
    [itemDetailPageObj detailPageArray:homePageArray selectedIndex:tag];
    [self.navigationController pushViewController:itemDetailPageObj animated:YES];
    [itemDetailPageObj release];
    

但由于参数是 itemid,来自深层链接。我需要在 homePageArray 中找到具有 itemid 的索引。但我不知道如何找到它。(在 homePageArray 中,每个项目都有名称、id 和内容。)

  1. 我在 AppDelegate.m 中添加深层链接启动序列时遇到问题。以下是 Branch 的 Deep Link 的说明

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    // initialize the session, setup a deep link handler
     [[Branch getInstance] initSessionWithLaunchOptions:launchOptions
                      andRegisterDeepLinkHandler:^(NSDictionary *params, NSError *error) {
    NSString *itemid = [params objectForKey:@"itemid"];
    int tag = "index of homePageArray based on the above itemid";
    if (itemid) {
       ItemDetailPage * itemDetailPageObj = [[ItemDetailPage alloc]initWithNibName:@"ItemDetailPage" bundle:nil];
       [itemDetailPageObj detailPageArray:homePageArray selectedIndex:tag];
       [self.navigationController pushViewController:itemDetailPageObj animated:YES];
       [itemDetailPageObj release];
       }
    }
    

问题是我无法在 AppDelegate.m 中启动 self.navigationController,所以我想知道上面的解决方法是什么。

谢谢你。

粘土琼斯94

对于问题的第一部分,您可以使用

NSUInteger i = [ homePageArray indexOfObject: itemid ];

获取您要查找的项目的索引。

要回答将详细信息页面推送到导航视图控制器的第二个问题,您不应该调用,self因为在这种情况下它指的是 AppDelegate。您应该需要获得对 Homepage ViewController 的引用并调用类似

[homepageVC.navigationController pushViewController:itemDetailPageObj animated:YES];

有时在不同的线程中执行 UI 更改会导致奇怪的行为,因此我建议在主线程中执行此操作。将此代码与您的回调一起使用。

dispatch_async(dispatch_get_main_queue(),
                 ^{ 
    // Push view controller here
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Xcode中项目构建失败

来自分类Dev

如何将C ++头文件从静态库导入到Obj-C中?

来自分类Dev

通过Obj-C桥接标头将sqlite3.h导入Swift项目不起作用

来自分类Dev

如何在Xcode 6中将库添加到C项目中

来自分类Dev

Obj-C / Swift项目中的致命陷阱异常

来自分类Dev

我可以将项目文件中的Xcode 5.1.1内容传输到Xcode 6中吗

来自分类Dev

将包含网址的数组中的图片添加到单元格的imageView-iOS Xcode Obj C

来自分类Dev

在Swift项目中正确使用Obj-C库

来自分类Dev

将cocoapods集成/安装到现有的xcode项目,objective-c或swift中

来自分类Dev

在升级到Xcode 7.3 swift 2.2后从swift调用obj-c枚举不起作用

来自分类Dev

Swift代码中Obj C枚举的Xcode 7.3未声明类型

来自分类Dev

当将纯C标头包含到Obj-C iOS项目中时,“对”的含义不明确”

来自分类Dev

将Obj C项目转换为Swift时访问类的函数时出错

来自分类Dev

Object.keys(obj)返回不在obj中的项目

来自分类Dev

OBJ。C.(XCODE 5-IOS 7)自动将变量保存在属性列表中

来自分类Dev

通过Obj-C桥接标头将sqlite3.h导入Swift项目不起作用

来自分类Dev

Obj-C / Swift项目中的致命陷阱异常

来自分类Dev

将目标添加到Swift / Obj-C项目时出错

来自分类Dev

从Obj-C(Xcode)中的网址获取数据(浮点数)

来自分类Dev

Xcode Obj-C链接错误

来自分类Dev

项目未在Xcode中存档

来自分类Dev

无法在Xcode中打开项目

来自分类Dev

Xcode和C / C ++项目

来自分类Dev

iOS Swift方法在obj C项目上调用

来自分类Dev

在 xcode 8.2.1 中的 obj-c 项目中使用(ios-charts)框架导致 apple mach-o 链接器错误

来自分类Dev

在 FireMonkey 中链接 C Obj 文件

来自分类Dev

在 Xcode 中为 C++ 项目构建包装框架

来自分类Dev

使用 MVVM 在 XCode (Obj C) 中进行单元测试

来自分类Dev

无需 Xcode 将 Unity 项目构建到 iOS 中

Related 相关文章

  1. 1

    在Xcode中项目构建失败

  2. 2

    如何将C ++头文件从静态库导入到Obj-C中?

  3. 3

    通过Obj-C桥接标头将sqlite3.h导入Swift项目不起作用

  4. 4

    如何在Xcode 6中将库添加到C项目中

  5. 5

    Obj-C / Swift项目中的致命陷阱异常

  6. 6

    我可以将项目文件中的Xcode 5.1.1内容传输到Xcode 6中吗

  7. 7

    将包含网址的数组中的图片添加到单元格的imageView-iOS Xcode Obj C

  8. 8

    在Swift项目中正确使用Obj-C库

  9. 9

    将cocoapods集成/安装到现有的xcode项目,objective-c或swift中

  10. 10

    在升级到Xcode 7.3 swift 2.2后从swift调用obj-c枚举不起作用

  11. 11

    Swift代码中Obj C枚举的Xcode 7.3未声明类型

  12. 12

    当将纯C标头包含到Obj-C iOS项目中时,“对”的含义不明确”

  13. 13

    将Obj C项目转换为Swift时访问类的函数时出错

  14. 14

    Object.keys(obj)返回不在obj中的项目

  15. 15

    OBJ。C.(XCODE 5-IOS 7)自动将变量保存在属性列表中

  16. 16

    通过Obj-C桥接标头将sqlite3.h导入Swift项目不起作用

  17. 17

    Obj-C / Swift项目中的致命陷阱异常

  18. 18

    将目标添加到Swift / Obj-C项目时出错

  19. 19

    从Obj-C(Xcode)中的网址获取数据(浮点数)

  20. 20

    Xcode Obj-C链接错误

  21. 21

    项目未在Xcode中存档

  22. 22

    无法在Xcode中打开项目

  23. 23

    Xcode和C / C ++项目

  24. 24

    iOS Swift方法在obj C项目上调用

  25. 25

    在 xcode 8.2.1 中的 obj-c 项目中使用(ios-charts)框架导致 apple mach-o 链接器错误

  26. 26

    在 FireMonkey 中链接 C Obj 文件

  27. 27

    在 Xcode 中为 C++ 项目构建包装框架

  28. 28

    使用 MVVM 在 XCode (Obj C) 中进行单元测试

  29. 29

    无需 Xcode 将 Unity 项目构建到 iOS 中

热门标签

归档