首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何访问Swift中的嵌套对象?

如何访问Swift中的嵌套对象?
EN

Stack Overflow用户
提问于 2014-12-16 16:44:59
回答 1查看 110关注 0票数 0

下面是println(newArticle)的读出。

我可以使用newArticle.paragraphs访问段落。怎样才能进入句子?(或者这就是我应该尝试访问的东西?)

我尝试过newArticle.paragraphs.sentences,但是我得到了一个错误,它说'AnyObject‘没有一个名为’AnyObject‘的成员。

代码语言:javascript
运行
复制
Article {
    title = test;
    viewed = 0;
    paragraphs = RLMArray <0x7c986ec0> (
    [0] Paragraph {
        sentences = RLMArray <0x7c999da0> (

    );
        paragraphContent = 1最初,上帝创造了天地。
    ;
        article = Article {
        title = test;
        viewed = 0;
        paragraphs = RLMArray <0x7c9b4af0> (
        [0] <Maximum depth exceeded>,
        [1] <Maximum depth exceeded>,
        [2] <Maximum depth exceeded>,
        [3] <Maximum depth exceeded>
    );
        articleContent = 1最初,上帝创造了天地。
    2大地混沌苍茫,深渊的表面一片黑暗。上帝发出的动力运行在水面上。
    3上帝说:“要有光。”光就出现了。4上帝看光是好的。上帝把光暗分开了。5上帝称光为“昼”,称暗为“夜”。过了晚上,到了早晨,是第一日。;
        dateAdded = 2014-12-16 15:12:29 +0000;
    };
    },
    [1] Paragraph {
        sentences = RLMArray <0x7c9b7dc0> (

    );
        paragraphContent = 2大地混沌苍茫,深渊的表面一片黑暗。上帝发出的动力运行在水面上。
    ;
        article = Article {
        title = test;
        viewed = 0;
        paragraphs = RLMArray <0x7c9b6720> (
        [0] <Maximum depth exceeded>,
        [1] <Maximum depth exceeded>,
        [2] <Maximum depth exceeded>,
        [3] <Maximum depth exceeded>
    );
        articleContent = 1最初,上帝创造了天地。
    2大地混沌苍茫,深渊的表面一片黑暗。上帝发出的动力运行在水面上。
    3上帝说:“要有光。”光就出现了。4上帝看光是好的。上帝把光暗分开了。5上帝称光为“昼”,称暗为“夜”。过了晚上,到了早晨,是第一日。;
        dateAdded = 2014-12-16 15:12:29 +0000;
    };
    },
    [2] Paragraph {
        sentences = RLMArray <0x7c9b6880> (

    );
        paragraphContent = 3上帝说:“要有光。”光就出现了。4上帝看光是好的。上帝把光暗分开了。5上帝称光为“昼”,称暗为“夜”。过了晚上,到了早晨,是第一日。;
        article = Article {
        title = test;
        viewed = 0;
        paragraphs = RLMArray <0x7c9b66c0> (
        [0] <Maximum depth exceeded>,
        [1] <Maximum depth exceeded>,
        [2] <Maximum depth exceeded>,
        [3] <Maximum depth exceeded>
    );
        articleContent = 1最初,上帝创造了天地。
    2大地混沌苍茫,深渊的表面一片黑暗。上帝发出的动力运行在水面上。
    3上帝说:“要有光。”光就出现了。4上帝看光是好的。上帝把光暗分开了。5上帝称光为“昼”,称暗为“夜”。过了晚上,到了早晨,是第一日。;
        dateAdded = 2014-12-16 15:12:29 +0000;
    };
    },
    [3] Paragraph {
        sentences = RLMArray <0x7c9b6820> (

    );
        paragraphContent = ;
        article = Article {
        title = test;
        viewed = 0;
        paragraphs = RLMArray <0x7c9b9650> (
        [0] <Maximum depth exceeded>,
        [1] <Maximum depth exceeded>,
        [2] <Maximum depth exceeded>,
        [3] <Maximum depth exceeded>
    );
        articleContent = 1最初,上帝创造了天地。
    2大地混沌苍茫,深渊的表面一片黑暗。上帝发出的动力运行在水面上。
    3上帝说:“要有光。”光就出现了。4上帝看光是好的。上帝把光暗分开了。5上帝称光为“昼”,称暗为“夜”。过了晚上,到了早晨,是第一日。;
        dateAdded = 2014-12-16 15:12:29 +0000;
    };
    }
);
    articleContent = 1最初,上帝创造了天地。
2大地混沌苍茫,深渊的表面一片黑暗。上帝发出的动力运行在水面上。
3上帝说:“要有光。”光就出现了。4上帝看光是好的。上帝把光暗分开了。5上帝称光为“昼”,称暗为“夜”。过了晚上,到了早晨,是第一日。;
    dateAdded = 2014-12-16 15:12:29 +0000;
}

这就是我打印时看到的(newArticle.paragraphs.description)

代码语言:javascript
运行
复制
Paragraph {
    sentences = RLMArray <0x78f7b920> (

);
    paragraphContent = 1最初,上帝创造了天地。
;
    article = Article {
    title = test;
    viewed = 0;
    paragraphs = RLMArray <0x78f7b570> (
    [0] Paragraph {
        sentences = RLMArray <0x78f7bdf0> (

    );
        paragraphContent = 1最初,上帝创造了天地。
    ;
        article = Article {
        title = test;
        viewed = 0;
        paragraphs = <Maximum depth exceeded>;
        articleContent = 1最初,上帝创造了天地。
    2大地混沌苍茫,深渊的表面一片黑暗。上帝发出的动力运行在水面上。
    3上帝说:“要有光。”光就出现了。4上帝看光是好的。上帝把光暗分开了。5上帝称光为“昼”,称暗为“夜”。过了晚上,到了早晨,是第一日。;
        dateAdded = 2014-12-16 15:12:29 +0000;
    };
    },
    [1] Paragraph {
        sentences = RLMArray <0x78f7c720> (

    );
        paragraphContent = 2大地混沌苍茫,深渊的表面一片黑暗。上帝发出的动力运行在水面上。
    ;
        article = Article {
        title = test;
        viewed = 0;
        paragraphs = <Maximum depth exceeded>;
        articleContent = 1最初,上帝创造了天地。
    2大地混沌苍茫,深渊的表面一片黑暗。上帝发出的动力运行在水面上。
    3上帝说:“要有光。”光就出现了。4上帝看光是好的。上帝把光暗分开了。5上帝称光为“昼”,称暗为“夜”。过了晚上,到了早晨,是第一日。;
        dateAdded = 2014-12-16 15:12:29 +0000;
    };
    },
    [2] Paragraph {
        sentences = RLMArray <0x78f7c1f0> (

    );
        paragraphContent = 3上帝说:“要有光。”光就出现了。4上帝看光是好的。上帝把光暗分开了。5上帝称光为“昼”,称暗为“夜”。过了晚上,到了早晨,是第一日。;
        article = Article {
        title = test;
        viewed = 0;
        paragraphs = <Maximum depth exceeded>;
        articleContent = 1最初,上帝创造了天地。
    2大地混沌苍茫,深渊的表面一片黑暗。上帝发出的动力运行在水面上。
    3上帝说:“要有光。”光就出现了。4上帝看光是好的。上帝把光暗分开了。5上帝称光为“昼”,称暗为“夜”。过了晚上,到了早晨,是第一日。;
        dateAdded = 2014-12-16 15:12:29 +0000;
    };
    },
    [3] Paragraph {
        sentences = RLMArray <0x78f7f240> (

    );
        paragraphContent = ;
        article = Article {
        title = test;
        viewed = 0;
        paragraphs = <Maximum depth exceeded>;
        articleContent = 1最初,上帝创造了天地。
    2大地混沌苍茫,深渊的表面一片黑暗。上帝发出的动力运行在水面上。
    3上帝说:“要有光。”光就出现了。4上帝看光是好的。上帝把光暗分开了。5上帝称光为“昼”,称暗为“夜”。过了晚上,到了早晨,是第一日。;
        dateAdded = 2014-12-16 15:12:29 +0000;
    };
    }
);
    articleContent = 1最初,上帝创造了天地。
2大地混沌苍茫,深渊的表面一片黑暗。上帝发出的动力运行在水面上。
3上帝说:“要有光。”光就出现了。4上帝看光是好的。上帝把光暗分开了。5上帝称光为“昼”,称暗为“夜”。过了晚上,到了早晨,是第一日。;
    dateAdded = 2014-12-16 15:12:29 +0000;
};
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-16 16:48:57

你需要把你要从段落中取出的对象投到一个段落中。Swift只知道对象是AnyObject,而AnyObject没有“句子”属性,所以它会抱怨。

就像这样

代码语言:javascript
运行
复制
let paragraph = newArticle.paragraphs[0] as Paragraph
println(paragraph.sentences[0])

或者,为了更安全,

代码语言:javascript
运行
复制
if let paragraph = newArticle.paragraphs[0] as? Paragraph {
    println(paragraph.sentences[0])
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27509663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档