我在我的osx应用程序中使用NSTableView
:
- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView {
if (tableView == self.categoryTable) {
return [[[AppAPI shared] categoryArr] count];
}
return 0;
}
- (nullable id)tableView:(NSTableView *)tableView objectValueForTableColumn:(nullable NSTableColumn *)tableColumn row:(NSInteger)row {
if (tableView == self.categoryTable) {
NSTableCellView *cellView = [tableView makeViewWithIdentifier:tableColumn.identifier owner:self];
CategoryItem * cat = [[AppAPI shared] categoryArr][row];
cellView.textField.stringValue = cat.name;
return cellView;
}
return nil;
}
cellView
不是
知道为什么会这样吗?
答案 0 :(得分:1)
您使用了错误的委托/数据源方法
/* The format string for device login instructions */
"DeviceLogin.LogInPrompt" = "Visit %@ on your smartphone or computer and enter the above code.";
/* The title of the label to dismiss the alert when presenting user facing error messages */
"ErrorRecovery.Alert.OK" = "OK";
/* The title of the label to decline attempting error recovery */
"ErrorRecovery.Cancel" = "Cancel";
/* The fallback message to display to recover invalidated tokens */
"ErrorRecovery.Login.Suggestion" = "Please log into this app again to reconnect your Facebook account.";
/* The title of the label to start attempting error recovery */
"ErrorRecovery.OK" = "OK";
/* The fallback message to display to retry transient errors */
"ErrorRecovery.Transient.Suggestion" = "The server is temporarily busy, please try again.";
/* The label for the FBSDKLikeButton when the object is not currently liked. */
"LikeButton.Like" = "Like";
/* The label for the FBSDKLikeButton when the object is currently liked. */
"LikeButton.Liked" = "Liked";
/* The label for the FBSDKLoginButton action sheet to cancel logging out */
"LoginButton.CancelLogout" = "Cancel";
/* The label for the FBSDKLoginButton action sheet to confirm logging out */
"LoginButton.ConfirmLogOut" = "Log Out";
/* The fallback string for the FBSDKLoginButton label when the user name is not available yet */
"LoginButton.LoggedIn" = "Logged in using Facebook";
/* The format string for the FBSDKLoginButton label when the user is logged in */
"LoginButton.LoggedInAs" = "Logged in as %@";
/* The short label for the FBSDKLoginButton when the user is currently logged out */
"LoginButton.LogIn" = "Log in";
/* The long label for the FBSDKLoginButton when the user is currently logged out */
"LoginButton.LogInLong" = "Log in with Facebook";
/* The label for the FBSDKLoginButton when the user is currently logged in */
"LoginButton.LogOut" = "Log out";
/* The user facing error message when the app slider has been disabled and login fails. */
"LoginError.SystemAccount.Disabled" = "Access has not been granted to the Facebook account. Verify device settings.";
/* The user facing error message when the Accounts framework encounters a network error. */
"LoginError.SystemAccount.Network" = "Unable to connect to Facebook. Check your network connection and try again.";
/* The user facing error message when the device Facebook account password is incorrect and login fails. */
"LoginError.SystemAccount.PasswordChange" = "Your Facebook password has changed. To confirm your password, open Settings > Facebook and tap your name.";
/* The user facing error message when the device Facebook account is unavailable and login fails. */
"LoginError.SystemAccount.Unavailable" = "The Facebook account has not been configured on the device.";
/* The user facing error message when the Facebook account signed in to the Accounts framework becomes unconfirmed. */
"LoginError.SystemAccount.UnconfirmedUser" = "Your account is not confirmed. Please log in to www.facebook.com and follow the instructions given.";
/* The user facing error message when the Facebook account signed in to the Accounts framework has been checkpointed. */
"LoginError.SystemAccount.UserCheckpointed" = "You cannot log in to apps at this time. Please log in to www.facebook.com and follow the instructions given.";
/* The message of the FBSDKLoginTooltipView */
"LoginTooltip.Message" = "New! You're in control - choose what info you want to share with apps.";
/* Title of the web dialog that prompts the user to log in to Facebook. */
"LoginWeb.LogInTitle" = "Log In";
/* The label for FBSDKSendButton */
"SendButton.Send" = "Send";
/* The label for FBSDKShareButton */
"ShareButton.Share" = "Share";
应该返回行的对象
objectValueForTableColumn:row
- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
return [[AppAPI shared] categoryArr][row];
}
返回视图。
viewForTableColumn:row:
PS:您的设计中有多少表视图需要检查正确的表视图?