Finding out whether an NSTableView row has been viewed by the user












0















Is there a way to get notified that a user has actually seen an NSTableView row (meaning it was scrolled into view when the table view was frontmost).



An example of this would be a messaging app. How does such an app would track what messages have been viewed by the user?










share|improve this question

























  • I think most apps would catch the load of the newest messages, then force a scroll to the top, then mark all current messages as read. If you wanted to be really explicit you could catch scroll events and check which messages are clearly all on screen?

    – Giles
    Jan 18 at 12:05











  • Yes, that is what I did. I am setting the status of every message that appeared on a screen (I know that it appeared because a table cell view was created for it) to "Read" in the database and it seems to work well. Thank you.

    – hkdalex
    Jan 22 at 19:06
















0















Is there a way to get notified that a user has actually seen an NSTableView row (meaning it was scrolled into view when the table view was frontmost).



An example of this would be a messaging app. How does such an app would track what messages have been viewed by the user?










share|improve this question

























  • I think most apps would catch the load of the newest messages, then force a scroll to the top, then mark all current messages as read. If you wanted to be really explicit you could catch scroll events and check which messages are clearly all on screen?

    – Giles
    Jan 18 at 12:05











  • Yes, that is what I did. I am setting the status of every message that appeared on a screen (I know that it appeared because a table cell view was created for it) to "Read" in the database and it seems to work well. Thank you.

    – hkdalex
    Jan 22 at 19:06














0












0








0








Is there a way to get notified that a user has actually seen an NSTableView row (meaning it was scrolled into view when the table view was frontmost).



An example of this would be a messaging app. How does such an app would track what messages have been viewed by the user?










share|improve this question
















Is there a way to get notified that a user has actually seen an NSTableView row (meaning it was scrolled into view when the table view was frontmost).



An example of this would be a messaging app. How does such an app would track what messages have been viewed by the user?







cocoa nstableview






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jan 19 at 23:28









1024jp

1,2441118




1,2441118










asked Jan 15 at 19:12









hkdalexhkdalex

32238




32238













  • I think most apps would catch the load of the newest messages, then force a scroll to the top, then mark all current messages as read. If you wanted to be really explicit you could catch scroll events and check which messages are clearly all on screen?

    – Giles
    Jan 18 at 12:05











  • Yes, that is what I did. I am setting the status of every message that appeared on a screen (I know that it appeared because a table cell view was created for it) to "Read" in the database and it seems to work well. Thank you.

    – hkdalex
    Jan 22 at 19:06



















  • I think most apps would catch the load of the newest messages, then force a scroll to the top, then mark all current messages as read. If you wanted to be really explicit you could catch scroll events and check which messages are clearly all on screen?

    – Giles
    Jan 18 at 12:05











  • Yes, that is what I did. I am setting the status of every message that appeared on a screen (I know that it appeared because a table cell view was created for it) to "Read" in the database and it seems to work well. Thank you.

    – hkdalex
    Jan 22 at 19:06

















I think most apps would catch the load of the newest messages, then force a scroll to the top, then mark all current messages as read. If you wanted to be really explicit you could catch scroll events and check which messages are clearly all on screen?

– Giles
Jan 18 at 12:05





I think most apps would catch the load of the newest messages, then force a scroll to the top, then mark all current messages as read. If you wanted to be really explicit you could catch scroll events and check which messages are clearly all on screen?

– Giles
Jan 18 at 12:05













Yes, that is what I did. I am setting the status of every message that appeared on a screen (I know that it appeared because a table cell view was created for it) to "Read" in the database and it seems to work well. Thank you.

– hkdalex
Jan 22 at 19:06





Yes, that is what I did. I am setting the status of every message that appeared on a screen (I know that it appeared because a table cell view was created for it) to "Read" in the database and it seems to work well. Thank you.

– hkdalex
Jan 22 at 19:06












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54205403%2ffinding-out-whether-an-nstableview-row-has-been-viewed-by-the-user%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54205403%2ffinding-out-whether-an-nstableview-row-has-been-viewed-by-the-user%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Liquibase includeAll doesn't find base path

How to use setInterval in EJS file?

Petrus Granier-Deferre